public void vc4() { // tag::vc4[] NumericProperty<Integer> MY_PROPERTY = NumericProperty.integerType("my_property"); // <1> ViewComponent<Integer> viewComponent = ViewComponent.create(MY_PROPERTY); // <2> // end::vc4[] }
public void presenter0() { // tag::presenter0[] final NumericProperty<Integer> ID = NumericProperty.integerType("id"); PropertyValuePresenter<Integer> presenter = getPropertyValuePresenter(); presenter.present(ID, 123); // <1> // end::presenter0[] }
@SuppressWarnings("unchecked") public void input4() { // tag::input4[] NumericProperty<Integer> MY_PROPERTY = NumericProperty.integerType("my_property"); // <1> Input<Integer> input = Input.create(MY_PROPERTY); // <2> Input<Integer> viewComponent = MY_PROPERTY.render(Input.class); // <3> // end::input4[] }
public void input5() { final NumericProperty<Integer> MY_PROPERTY = NumericProperty.integerType("my_property"); // tag::input5[] PropertyRendererRegistry.getDefault() // <1> .forProperty(MY_PROPERTY, InputPropertyRenderer.create(property -> new MyInput())); // <2> // end::input5[] }
public void vc5() { final NumericProperty<Integer> MY_PROPERTY = NumericProperty.integerType("my_property"); // tag::vc5a[] PropertyValuePresenterRegistry.getDefault() // <1> .forProperty(MY_PROPERTY, (property, value) -> "#" + value); // <2> // end::vc5a[] // tag::vc5b[] ViewComponent<Integer> viewComponent = ViewComponent.create(MY_PROPERTY); // <1> String value = MY_PROPERTY.present(1); // <2> // end::vc5b[] }
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 pathPropertySetAdapter2() { // tag::ppsa3[] final StringProperty STR = StringProperty.create("str"); final NumericProperty<Integer> ITG = NumericProperty.integerType("itg"); final PropertySet<?> SET = PropertySet.of(STR, ITG); PathPropertySetAdapter adapter = PathPropertySetAdapter.create(SET); // <1> boolean contains = adapter.contains("str"); // <2> Optional<Property<?>> property = adapter.getProperty("str"); // <3> Optional<Property<String>> typedProperty = adapter.getProperty("str", String.class); // <4> Stream<String> paths = adapter.names(); // <5> // end::ppsa3[] }
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 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 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 pathPropertySetAdapter1() { // tag::ppsa1[] 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); PathPropertySetAdapter adapter = PathPropertySetAdapter.create(SET); // <1> boolean contains = adapter.contains(PATH); // <2> Optional<Property<String>> property = adapter.getProperty(PATH); // <3> Optional<Path<String>> path = adapter.getPath(STR); // <4> Stream<Path<?>> paths = adapter.paths(); // <5> // end::ppsa1[] // tag::ppsa2[] PathPropertySetAdapter pathPropertySetAdapter = PathPropertySetAdapter.builder(SET) // <1> .pathConverter(new MyPathConverter()) // <2> .pathMatcher(new MyPathMatcher()) // <3> .build(); // end::ppsa2[] }
public void aggregationFunctions() { // tag::aggfun[] final NumericProperty<Integer> PROPERTY = NumericProperty.integerType("test"); // <1> Count count = QueryFunction.count(PROPERTY); Min<Integer> min = QueryFunction.min(PROPERTY); Max<Integer> max = QueryFunction.max(PROPERTY); Avg avg = QueryFunction.avg(PROPERTY); Sum<Integer> sum = QueryFunction.sum(PROPERTY); // <2> count = Count.create(PROPERTY); min = Min.create(PROPERTY); max = Max.create(PROPERTY); avg = Avg.create(PROPERTY); sum = Sum.create(PROPERTY); // <3> count = PROPERTY.count(); min = PROPERTY.min(); max = PROPERTY.max(); avg = PROPERTY.avg(); sum = PROPERTY.sum(); // end::aggfun[] }
public void queryResults() { // tag::queryresults[] final NumericProperty<Integer> PROPERTY1 = NumericProperty.integerType("test1"); final StringProperty PROPERTY2 = StringProperty.create("test2"); final PropertySet<?> PROPERTIES = PropertySet.of(PROPERTY1, PROPERTY2); final DataTarget<?> TARGET = DataTarget.named("testTarget"); Datastore datastore = getDatastore(); // build or obtain a concrete Datastore implementation long count = datastore.query().target(TARGET).count(); // <1> Stream<Integer> values = datastore.query(TARGET).stream(PROPERTY1); // <2> Optional<Integer> value = datastore.query(TARGET).findOne(PROPERTY1); // <3> Stream<PropertyBox> results = datastore.query(TARGET).stream(PROPERTY1, PROPERTY2); // <4> results = datastore.query(TARGET).stream(PROPERTIES); // <5> List<PropertyBox> list = datastore.query(TARGET).list(PROPERTY1, PROPERTY2); // <6> Optional<PropertyBox> result = datastore.query(TARGET).findOne(PROPERTY1, PROPERTY2); // <7> // end::queryresults[] }