public void mapping() { // tag::mapping[] StringProperty PROPERTY = StringProperty.create("propertyName").dataPath("str"); // <1> // end::mapping[] }
public void dataprovider6() { // tag::dataprovider6[] DataProvider<?, ?> dataProvider = DatastoreDataProvider.builder(datastore, TARGET, SUBJECT) // <1> .withQueryFilter(NAME.isNotNull()) // <2> .withQuerySort(NAME.asc()) // <3> .withDefaultQuerySort(ID.desc()) // <4> .build(); // end::dataprovider6[] }
public void stringFunctions() { // tag::strfun[] final StringProperty PROPERTY = StringProperty.create("test"); // <1> Lower lower = QueryFunction.lower(PROPERTY); Upper upper = QueryFunction.upper(PROPERTY); // <2> lower = Lower.create(PROPERTY); upper = Upper.create(PROPERTY); // <3> lower = PROPERTY.lower(); upper = PROPERTY.upper(); // end::strfun[] }
final StringProperty STRING_PROPERTY = StringProperty.create("test3"); restriction = STRING_PROPERTY.startsWith("v"); // starts with restriction = STRING_PROPERTY.startsWithIgnoreCase("v"); // starts with ignoring case restriction = STRING_PROPERTY.endsWith("v"); // ends with restriction = STRING_PROPERTY.endsWithIgnoreCase("v"); // ends with ignoring case restriction = STRING_PROPERTY.contains("v"); // contains QueryFilter restriction2 = STRING_PROPERTY.containsIgnoreCase("v"); // contains ignoring case
public void projection2() { // tag::projection2[] final NumericProperty<Integer> PROPERTY1 = NumericProperty.integerType("test"); final StringProperty PROPERTY2 = StringProperty.create("test2"); final DataTarget<?> TARGET = DataTarget.named("testTarget"); Datastore datastore = getDatastore(); // build or obtain a concrete Datastore implementation Optional<Integer> sum = datastore.query(TARGET).findOne(PROPERTY1.sum()); // <1> Stream<String> results = datastore.query(TARGET).stream(PROPERTY2.upper()); // <2> // end::projection2[] }
public void dataprovider3() { // tag::dataprovider3[] DataProvider<PropertyBox, String> dataProvider = DatastoreDataProvider.create(datastore, TARGET, SUBJECT, stringValue -> NAME.startsWith(stringValue)); // end::dataprovider3[] }
public void listing10() { // tag::listing10[] PropertyListing listing = PropertyListing.builder(SUBJECT) // .dataSource(getDatastore(), TARGET) // <1> .withQueryFilter(NAME.isNotNull()) // <2> .withQuerySort(ID.asc()) // <3> .build(); // end::listing10[] }
public void input19() { // tag::input19[] SingleSelect<Long> singleSelect = Input.singleSelect(ID) // <1> .dataSource(getDatastore(), TARGET, // <2> text -> NAME.contains(text), // <3> SUBJECT // <4> ).build(); // end::input19[] }
void operations() { // tag::model3[] Datastore datastore = getJpaDatastore(); Stream<Long> ids = datastore.query().target(TARGET).filter(ID.gt(0L)).sort(VALUE.asc()).stream(ID); // <1> Stream<PropertyBox> results = datastore.query().target(TARGET).filter(ID.gt(0L)).sort(VALUE.asc()).stream(TEST); // <2> PropertyBox valueToSave = PropertyBox.builder(TEST).set(ID, 1L).set(VALUE, "test").build(); datastore.save(TARGET, valueToSave); // <3> // end::model3[] }
public void dataprovider4() { // tag::dataprovider4[] DataProvider<MyBean, String> dataProvider = DatastoreDataProvider.create(datastore, TARGET, MyBean.class, stringValue -> NAME.startsWith(stringValue)); // end::dataprovider4[] }
public void input17() { final QueryConfigurationProvider myQueryConfigurationProvider = null; // tag::input17[] SingleSelect<Long> singleSelect = Input.singleSelect(ID) // <1> .dataSource(getDatastore(), TARGET, SUBJECT) // <2> .withQueryFilter(NAME.isNotNull()) // <3> .withQuerySort(ID.asc()) // <4> .withQueryConfigurationProvider(myQueryConfigurationProvider) // <5> .build(); // end::input17[] }
public void input19b() { // tag::input19b[] SingleSelect<Long> singleSelect = Input.singleSelect(ID) // <1> .dataSource(getDatastore(), TARGET, SUBJECT) // <2> .filterConverter(text -> NAME.contains(text)) // <3> .build(); // end::input19b[] }
public void dataMappable2() { final StringProperty P1 = StringProperty.create("p1"); final StringProperty P2 = StringProperty.create("p2"); // tag::datamappable2[] PropertySet<?> PROPERTIES = PropertySet.builderOf(P1, P2) // .withConfiguration(DataMappable.PATH, "mapping-name") // <1> .build(); Optional<String> mapping = PROPERTIES.getConfiguration().getParameter(DataMappable.PATH); // <2> // end::datamappable2[] }
public void dataprovider5() { // tag::dataprovider5[] DataProvider<MyItem, String> dataProvider = DatastoreDataProvider.create(datastore, TARGET, // SUBJECT, // <1> propertyBox -> new MyItem(propertyBox.getValue(ID), propertyBox.getValue(NAME)), // <2> stringValue -> NAME.startsWith(stringValue)); // <3> // end::dataprovider5[] }
public void customFilter() { Datastore datastore = getDatastore(); // build or obtain a concrete Datastore implementation datastore.addExpressionResolver(new MyFilterResolver()); // <4> Stream<String> results = datastore.query().target(DataTarget.named("test")) .filter(PROPERTY.isNotNull().and(new MyFilter(PROPERTY, "testValue"))).stream(PROPERTY); // <5> } // end::customfilter[]
/** * Create a new {@link StringProperty} from given <code>path</code>, using given {@link Path} <code>name</code>. * @param path Path from which to obtain the property path name (not null) * @return {@link StringProperty} builder */ static StringPropertyBuilder create(Path<String> path) { ObjectUtils.argumentNotNull(path, "Path must be not null"); StringPropertyBuilder builder = create(path.getName()); path.getParent().ifPresent(p -> builder.parent(p)); return builder; }
public void serializeh2() { // tag::serializeh2[] final NumericProperty<Long> KEY = NumericProperty.longType("key"); final StringProperty NAME = StringProperty.create("nested.name"); // <1> final StringProperty SURNAME = StringProperty.create("nested.surname"); // <2> final PropertySet<?> PROPERTY_SET = PropertySet.of(KEY, NAME, SURNAME); PropertyBox value = PropertyBox.builder(PROPERTY_SET).set(KEY, 1L).set(NAME, "John").set(SURNAME, "Doe") .build(); // <3> // end::serializeh2[] }
public void propertyBox3() { // tag::propertybox3[] final StringProperty NAME = StringProperty.create("name"); final StringProperty SURNAME = StringProperty.create("surname"); final VirtualProperty<String> FULL_NAME = VirtualProperty.create(String.class, propertyBox -> { // <1> return propertyBox.getValue(NAME) + " " + propertyBox.getValue(SURNAME); }); PropertyBox propertyBox = PropertyBox.create(NAME, SURNAME, FULL_NAME); // <2> propertyBox.setValue(NAME, "John"); propertyBox.setValue(SURNAME, "Doe"); String fullName = propertyBox.getValue(FULL_NAME); // <3> // end::propertybox3[] }