@Override public <T> VirtualPropertyColumnBuilder<T, PropertyBox, Property, C, B> withVirtualProperty(Class<T> type, PropertyValueProvider<T> valueProvider) { return withVirtualProperty(VirtualProperty.create(type, valueProvider)); }
@Override public <T> VirtualPropertyColumnBuilder<T, PropertyBox, Property, C, B> withVirtualProperty(Class<T> type, String name, PropertyValueProvider<T> valueProvider) { return withVirtualProperty(VirtualProperty.create(type, valueProvider).name(name)); }
@Override public ItemListingColumnBuilder<PropertyBox, Property<?>, PropertyListing, DatastorePropertyListingBuilder> withComponentColumn( ValueProvider<PropertyBox, Component> valueProvider) { ObjectUtils.argumentNotNull(valueProvider, "ValueProvider must be not null"); return withComponentColumn(VirtualProperty.create(Component.class, item -> valueProvider.apply(item))); }
@Override public <X> ItemListingColumnBuilder<PropertyBox, Property<?>, PropertyListing, PropertyListingBuilder> withColumn( ValueProvider<PropertyBox, X> valueProvider) { ObjectUtils.argumentNotNull(valueProvider, "ValueProvider must be not null"); return withColumn(VirtualProperty.create(Object.class, item -> valueProvider.apply(item))); }
@Override public ItemListingColumnBuilder<PropertyBox, Property<?>, PropertyListing, PropertyListingBuilder> withComponentColumn( ValueProvider<PropertyBox, Component> valueProvider) { ObjectUtils.argumentNotNull(valueProvider, "ValueProvider must be not null"); return withComponentColumn(VirtualProperty.create(Component.class, item -> valueProvider.apply(item))); }
@Override public <X> ItemListingColumnBuilder<PropertyBox, Property<?>, PropertyListing, DatastorePropertyListingBuilder> withColumn( ValueProvider<PropertyBox, X> valueProvider) { ObjectUtils.argumentNotNull(valueProvider, "ValueProvider must be not null"); return withColumn(VirtualProperty.create(Object.class, item -> valueProvider.apply(item))); }
public void propertyListing5() { // tag::propertyListing5[] final NumericProperty<Long> ID = NumericProperty.longType("id"); final VirtualProperty<String> DESCRIPTION = VirtualProperty.create(String.class, item -> "ID: " + item.getValue(ID)); // <1> final PropertySet<?> PROPERTIES = PropertySet.of(ID, DESCRIPTION); PropertyListing listing = Components.listing.properties(PROPERTIES).build(); // <2> // end::propertyListing5[] }
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 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[] }
public void group8() { // tag::group8[] final VirtualProperty<String> VIRTUAL = VirtualProperty.create(String.class, propertyBox -> propertyBox.getValue(ID) + " -" + propertyBox.getValue(DESCRIPTION)); final PropertySet<?> PROPERTIES = PropertySet.of(ID, DESCRIPTION, VIRTUAL); PropertyInputGroup group = Components.input.propertyGroup().properties(PROPERTIES) // .withValueChangeListener(DESCRIPTION, (event, binder) -> { // <1> binder.refresh(VIRTUAL); }) // .build(); // end::group8[] }
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 listingVirtual() { // tag::virtualproperty1[] final VirtualProperty<Component> EDIT = VirtualProperty.create(Component.class).message("Edit") // <1> .valueProvider( // <2> row -> Components.button().styleName(ValoTheme.BUTTON_ICON_ONLY).icon(VaadinIcons.EDIT) .onClick(e -> { Long rowId = row.getValue(ID); // <3> // perform edit action ... }).build()); PropertyListing listing = Components.listing.properties(PROPERTIES) // <4> .build(EDIT, ID, DESCRIPTION); // <5> listing = Components.listing.properties(PROPERTIES) // .build(PropertySet.builder().add(PROPERTIES).add(EDIT).build()); // <6> // end::virtualproperty1[] }