/** * Create a new {@link PropertyBoxProperty} cloned from the given property, setting this {@link DataTarget} as * property parent path. * @param fromProperty The property to clone (not null) * @return The cloned property */ default PropertyBoxProperty property(PropertyBoxProperty fromProperty) { ObjectUtils.argumentNotNull(fromProperty, "Property must be not null"); return fromProperty.clone(builder -> builder.parent(this)); }
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[] }