Class CompoundPropertyModel<T>

  • Type Parameters:
    T - The model object type
    All Implemented Interfaces:
    java.io.Serializable, IComponentInheritedModel<T>, IDetachable, IModel<T>, org.apache.wicket.util.io.IClusterable

    public class CompoundPropertyModel<T>
    extends ChainingModel<T>
    implements IComponentInheritedModel<T>
    A simple compound model which uses the component's name as the property expression to retrieve properties on the nested model object. CompoundPropertyModel is a chaining model so it will call get/setobject on the given object if the object is an instanceof IModel itself.
    Author:
    Jonathan Locke
    See Also:
    IModel, Model, LoadableDetachableModel, IChainingModel, Serialized Form
    • Constructor Detail

      • CompoundPropertyModel

        public CompoundPropertyModel​(IModel<T> model)
        Constructor
        Parameters:
        model - The model
      • CompoundPropertyModel

        public CompoundPropertyModel​(T object)
        Constructor
        Parameters:
        object - The model object
    • Method Detail

      • propertyExpression

        protected java.lang.String propertyExpression​(Component component)
        Returns the property expression that should be used against the target object
        Parameters:
        component -
        Returns:
        property expression that should be used against the target object
      • bind

        public <S> IModel<S> bind​(java.lang.String property)
        Binds this model to a special property by returning a model that has this compound model as its nested/wrapped model and the property which should be evaluated. This can be used if the id of the Component isn't a valid property for the data object.
        Type Parameters:
        S - the type of the property
        Parameters:
        property - the name that will be used to find
        Returns:
        The IModel that is a wrapper around the current model and the property
      • of

        public static <Z extends java.io.Serializable> CompoundPropertyModel<Z> of​(Z object)
        Type-infering factory method
        Type Parameters:
        Z - the type of the model's object
        Parameters:
        object - model object
        Returns:
        CompoundPropertyModel instance