Package 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 toComponent.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 seeResourceModel
- Author:
- jcompagner, Igor Vaynberg (ivaynberg)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IWrapModel<T>
wrapOnAssignment(Component component)
This method is called when the component gets its model assigned.
-
-
-
Method Detail
-
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
-
-