org.apache.wicket.model
Class CompoundPropertyModel<T>

java.lang.Object
  extended by org.apache.wicket.model.ChainingModel<T>
      extended by org.apache.wicket.model.CompoundPropertyModel<T>
Type Parameters:
T - The model object type
All Implemented Interfaces:
Serializable, IChainingModel<T>, IComponentInheritedModel<T>, IDetachable, IModel<T>, 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 Summary
CompoundPropertyModel(IModel<T> model)
          Constructor
CompoundPropertyModel(T object)
          Constructor
 
Method Summary
<S> IModel<S>
bind(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.
static
<Z> CompoundPropertyModel<Z>
of(IModel<Z> model)
          Type-infering factory method
protected  String propertyExpression(Component component)
          Returns the property expression that should be used against the target object
<C> IWrapModel<C>
wrapOnInheritance(Component component)
           
 
Methods inherited from class org.apache.wicket.model.ChainingModel
detach, getChainedModel, getObject, getTarget, setChainedModel, setObject, setTarget, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.wicket.model.IModel
getObject, setObject
 
Methods inherited from interface org.apache.wicket.model.IDetachable
detach
 

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 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

wrapOnInheritance

public <C> IWrapModel<C> wrapOnInheritance(Component component)
Specified by:
wrapOnInheritance in interface IComponentInheritedModel<T>
Type Parameters:
C - the model object type of the wrapped model
Returns:
The WrapModel that wraps this model
See Also:
IComponentInheritedModel.wrapOnInheritance(org.apache.wicket.Component)

bind

public <S> IModel<S> bind(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> CompoundPropertyModel<Z> of(IModel<Z> model)
Type-infering factory method

Type Parameters:
Z - the type of the model's object
Parameters:
model - model
Returns:
CompoundPropertyModel instance


Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.