Interface IBeanSetProperty

  • All Superinterfaces:
    IBeanProperty, IProperty, ISetProperty

    public interface IBeanSetProperty
    extends IBeanProperty, ISetProperty
    An ISetProperty extension interface with convenience methods for creating nested bean properties.
    Since:
    1.2
    Restriction:
    This interface is not intended to be implemented by clients.
    Restriction:
    This interface is not intended to be extended by clients.
    • Method Detail

      • values

        IBeanMapProperty 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 master-detail combination of this property and the specified value property.
        See Also:
        values(IBeanValueProperty)
      • values

        IBeanMapProperty values​(String propertyName,
                                Class 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(IBeanValueProperty)
      • values

        IBeanMapProperty values​(IBeanValueProperty 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 set property, mapping from this set property's elements (keys) to the specified value property's value for each element (values).

        Example:

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