Interface IBeanListProperty<S,E>

Type Parameters:
S - type of the source object
E - type of the elements in the list
All Superinterfaces:
IBeanProperty, IListProperty<S,E>, IProperty

public interface IBeanListProperty<S,E> extends IBeanProperty, IListProperty<S,E>
An IListProperty extension interface with convenience methods for creating nested bean properties.
Since:
1.2
  • Method Details

    • values

      <E2> IBeanListProperty<S,E2> values(String propertyName)
      Returns a master-detail combination of this property and the specified value property.
      Parameters:
      propertyName - the value property to observe. May be nested e.g. "parent.name"
      Returns:
      a nested combination of this property and the specified value property.
      See Also:
    • values

      <E2> IBeanListProperty<S,E2> values(String propertyName, Class<E2> valueType)
      Returns a master-detail combination of this property and the specified value property.
      Parameters:
      propertyName - the value property to observe. May be nested e.g. "parent.name"
      valueType - the value type of the named property
      Returns:
      a master-detail combination of this property and the specified value property.
      See Also:
    • values

      <E2> IBeanListProperty<S,E2> values(IBeanValueProperty<? super E,E2> property)
      Returns a master-detail combination of this property and the specified value property. The returned property will observe the specified value property for all elements observed by this list property.

      Example:

       // Observes the list-typed "children" property of a Person object,
       // where the elements are Person objects
       IBeanListProperty children = BeanProperties.list(Person.class, "children",
                      Person.class);
       // Observes the string-typed "name" property of a Person object
       IBeanValueProperty name = BeanProperties.value(Person.class, "name");
       // Observes the names of children of a Person object.
       IBeanListProperty childrenNames = children.values(name);
       
      Parameters:
      property - the detail property to observe
      Returns:
      a master-detail combination of this property and the specified value property.