public void mapping() { // tag::mapping[] StringProperty PROPERTY = StringProperty.create("propertyName").dataPath("str"); // <1> // end::mapping[] }
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[] }
/** * 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 propertyListing() { // tag::propertyListing[] final NumericProperty<Long> ID = NumericProperty.longType("id"); final StringProperty DESCRIPTION = StringProperty.create("description"); final PropertySet<?> PROPERTIES = PropertySet.of(ID, DESCRIPTION); PropertyListing listing = Components.listing.properties(PROPERTIES).build(); // <1> // end::propertyListing[] }
public void propertyBox5() { // tag::propertybox5[] final NumericProperty<Integer> ID = NumericProperty.integerType("id"); final StringProperty NAME = StringProperty.create("name"); PropertyBox propertyBox = PropertyBox.builder(ID, NAME) .hashCodeProvider(pb -> Optional.ofNullable(pb.getValue(ID))) // <1> .equalsHandler((pb, other) -> (other instanceof PropertyBox) // <2> && ((PropertyBox) other).getValue(ID).equals(pb.getValue(ID))) .build(); // end::propertybox5[] }
public void distinctProjection() { // tag::distinct[] final StringProperty PROPERTY = StringProperty.create("test"); Datastore datastore = getDatastore(); // build or obtain a concrete Datastore implementation Stream<String> results = datastore.query(DataTarget.named("test")) // .distinct() // <1> .stream(PROPERTY); // end::distinct[] }
public void propertySet() { // tag::propertyset[] final StringProperty NAME = StringProperty.create("name"); final StringProperty SURNAME = StringProperty.create("surname"); final NumericProperty<Integer> SEQUENCE = NumericProperty.integerType("surname"); PropertySet<Property<?>> set = PropertySet.of(NAME, SURNAME); // <1> set = PropertySet.builder().add(NAME).add(SURNAME).build(); // <2> PropertySet<Property<?>> set2 = PropertySet.builder().add(set).add(SEQUENCE).build(); // <3> // end::propertyset[] }
public void propertyListing4() { // tag::propertyListing4[] final NumericProperty<Long> ID = NumericProperty.longType("id"); final StringProperty TEXT = StringProperty.create("txt"); final VirtualProperty<String> DESCRIPTION = VirtualProperty.create(String.class, item -> "ID: " + item.getValue(ID)); // <1> PropertyListing listing = Components.listing.properties(ID, TEXT) // .build(ID, TEXT, DESCRIPTION); // <2> // end::propertyListing4[] }
public void group1a() { // tag::group1a[] final NumericProperty<Long> ID = NumericProperty.longType("id"); final StringProperty DESCRIPTION = StringProperty.create("description"); final PropertySet<?> PROPERTIES = PropertySet.of(ID, DESCRIPTION); PropertyInputGroup group = Components.input.propertyGroup().properties(PROPERTIES) // <1> .build(); // end::group1a[] }
public void serializeh1() { // tag::serializeh1[] final NumericProperty<Long> KEY = NumericProperty.longType("key"); final StringProperty NAME = StringProperty.create("name"); final StringProperty SURNAME = StringProperty.create("surname"); final PropertyBoxProperty NESTED = PropertyBoxProperty.create("nested", NAME, SURNAME); // <1> final PropertySet<?> PROPERTY_SET = PropertySet.of(KEY, NESTED); // <2> PropertyBox value = PropertyBox.builder(PROPERTY_SET).set(KEY, 1L) .set(NESTED, PropertyBox.builder(NAME, SURNAME).set(NAME, "John").set(SURNAME, "Doe").build()).build(); // <3> // end::serializeh1[] }
public void listing26() { // tag::listing26[] final StringProperty NAME = StringProperty.create("name").withValidator(Validator.notBlank()); // <1> PropertyListing.builder(SUBJECT) // .withValidator(NAME, Validator.max(10)) // <2> .build(); // end::listing26[] }
public void dataprovider1() { // tag::dataprovider1[] final NumericProperty<Long> ID = NumericProperty.longType("id"); final StringProperty NAME = StringProperty.create("name"); final PropertySet<?> SUBJECT = PropertySet.of(ID, NAME); // <1> final DataTarget<?> TARGET = DataTarget.named("subjects"); // <2> final Datastore datastore = obtainDatastore(); // <3> DataProvider<PropertyBox, QueryFilter> dataProvider = DatastoreDataProvider.create(datastore, TARGET, SUBJECT); // <4> dataProvider = DatastoreDataProvider.create(datastore, TARGET, ID, NAME); // <5> // end::dataprovider1[] }
public void identifiers() { // tag::identifiers[] final NumericProperty<Long> ID = NumericProperty.longType("id"); final StringProperty DESCRIPTION = StringProperty.create("description"); final PropertySet<?> PROPERTIES = PropertySet.builderOf(ID, DESCRIPTION).identifier(ID).build(); // <1> PropertyListing listing = Components.listing.properties(PROPERTIES).build(); // end::identifiers[] }
public void ifnull() { // tag::function3[] final StringProperty STR = StringProperty.create("str"); final DataTarget<?> TARGET = DataTarget.named("test"); Datastore datastore = JdbcDatastore.builder() // .withExpressionResolver(new IfNullResolver()) // <1> .build(); Stream<String> values = datastore.query(TARGET).stream(new IfNull<>(STR, "(fallback)")); // <2> // end::function3[] }
public void ifnull() { // tag::function3[] final StringProperty STR = StringProperty.create("stringAttribute"); final DataTarget<?> TARGET = DataTarget.named("Test"); Datastore datastore = JpaDatastore.builder() // .withExpressionResolver(new TrimResolver()) // <1> .build(); Stream<String> trimmedValues = datastore.query(TARGET).stream(new Trim(STR)); // <2> // end::function3[] }
public void propertyListing3() { // tag::propertyListing3[] final NumericProperty<Long> ID = NumericProperty.longType("id"); final StringProperty DESCRIPTION = StringProperty.create("description"); final BooleanProperty ACTIVE = BooleanProperty.create("active"); final PropertySet<?> PROPERTIES = PropertySet.of(ID, DESCRIPTION, ACTIVE); PropertyListing listing = Components.listing.properties(PROPERTIES) // .displayAsFirst(ACTIVE) // <1> .displayBefore(ID, DESCRIPTION) // <2> .displayAfter(DESCRIPTION, ACTIVE) // <3> .build(); // end::propertyListing3[] }
public void serializationConfig() { // tag::sconfig[] StringProperty NAME = StringProperty.create("name"); // <1> VirtualProperty<String> VRT = VirtualProperty.create(String.class, pb -> "(" + pb.getValue(NAME) + ")") .name("vrt"); // <2> final PropertySet<?> PROPERTY_SET = PropertySet.builderOf(NAME, VRT).withConfiguration( JsonConfigProperties.PROPERTYBOX_SERIALIZATION_MODE, PropertyBoxSerializationMode.ALL).build(); // <3> PropertyBox propertyBox = PropertyBox.builder(PROPERTY_SET).set(NAME, "test").build(); // <4> // end::sconfig[] }
public void pathPropertyBoxAdapter() { // tag::ppba[] final StringProperty STR = StringProperty.create("str"); final NumericProperty<Integer> ITG = NumericProperty.integerType("itg"); final PropertySet<?> SET = PropertySet.of(STR, ITG); final Path<String> PATH = Path.of("str", String.class); PropertyBox box = PropertyBox.builder(SET).set(STR, "test1").set(ITG, 1).build(); PathPropertyBoxAdapter adapter = PathPropertyBoxAdapter.create(box); // <1> boolean contains = adapter.containsValue(PATH); // <2> Optional<String> value = adapter.getValue(PATH); // <3> adapter.setValue(PATH, "value"); // <4> // end::ppba[] }
public void propertyBox2() { // tag::propertybox2[] final PathProperty<Long> ID = PathProperty.create("id", Long.class).withValidator(Validator.notNull()); // <1> final StringProperty NAME = StringProperty.create("name").withValidator(Validator.notBlank()); // <2> final PropertySet<?> PROPERTIES = PropertySet.of(ID, NAME); PropertyBox propertyBox = PropertyBox.create(PROPERTIES); propertyBox.setValue(ID, null); // <3> propertyBox = PropertyBox.builder(PROPERTIES).invalidAllowed(true).build(); // <4> propertyBox.validate(); // <5> // end::propertybox2[] }
public void view2() { // tag::view2[] final NumericProperty<Long> ID = NumericProperty.longType("id"); final StringProperty DESCRIPTION = StringProperty.create("description"); final PropertySet<?> PROPERTIES = PropertySet.of(ID, DESCRIPTION); PropertyViewGroup viewGroup = Components.view.propertyGroup().properties(PROPERTIES).build(); // <1> PropertyViewForm viewForm = Components.view.formVertical().properties(PROPERTIES).build(); // <2> viewForm.setValue(PropertyBox.builder(PROPERTIES).set(ID, 1L).set(DESCRIPTION, "Test").build()); // <3> PropertyBox value = viewForm.getValue(); // <4> // end::view2[] }