org.apache.wicket.model
Interface IComponentAssignedModel<T>
- Type Parameters:
T
- The model data type
- All Superinterfaces:
- IClusterable, IDetachable, IModel<T>, Serializable
- All Known Implementing Classes:
- ComponentDetachableModel, ComponentModel, ComponentPropertyModel, ResourceModel, StringResourceModel
public interface IComponentAssignedModel<T>
- extends IModel<T>
Models that wish to substitute themselves with a wrapper when they are bound to a component
(either through IModel parameter in a constructor or via a call to
Component.setDefaultModel(IModel)
) should implement this interface. One reason for a
model to want to do this is if it needs to be aware of the component it is bound to.
The algorithm wicket employs is similar to this:
void Component.setModel(IModel model)
{
if (model instanceof IComponentAssignedModel)
{
this.model = ((IComponentAssignedModel)model).wrapOnAssignment(this);
}
else
{
this.model = model;
}
}
For an example see ResourceModel
- Author:
- jcompagner, Igor Vaynberg (ivaynberg)
wrapOnAssignment
IWrapModel<T> wrapOnAssignment(Component component)
- This method is called when the component gets its model assigned.
WARNING: Because the model can be assigned in the constructor of component this method can
also be called with a 'this' of a component that is not fully constructed yet.
- Parameters:
component
-
- Returns:
- The WrapModel that wraps this model
Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.