Class ReuseIfModelsEqualStrategy
- java.lang.Object
-
- org.apache.wicket.markup.repeater.ReuseIfModelsEqualStrategy
-
- All Implemented Interfaces:
Serializable
,IItemReuseStrategy
,IClusterable
public class ReuseIfModelsEqualStrategy extends Object implements IItemReuseStrategy
Reuse strategy that will reuse an old item if its model is equal to a model inside the newModels iterator. Useful when state needs to be kept across requests for as long as the item is visible within the view.Notice that the model and not the model object needs to implement the
Object.equals(Object)
andObject.hashCode()
methods. Most of the time it is a good idea to forward the calls to the object, however if a detachable model is used it is often enough to compare an identifier for the object the models are pointing to ( this saves the model from loading the object).- Author:
- Igor Vaynberg (ivaynberg)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ReuseIfModelsEqualStrategy()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static IItemReuseStrategy
getInstance()
<T> Iterator<Item<T>>
getItems(IItemFactory<T> factory, Iterator<IModel<T>> newModels, Iterator<Item<T>> existingItems)
Returns an iterator over items that will be added to the view.
-
-
-
Constructor Detail
-
ReuseIfModelsEqualStrategy
public ReuseIfModelsEqualStrategy()
-
-
Method Detail
-
getInstance
public static IItemReuseStrategy getInstance()
- Returns:
- static instance
-
getItems
public <T> Iterator<Item<T>> getItems(IItemFactory<T> factory, Iterator<IModel<T>> newModels, Iterator<Item<T>> existingItems)
Description copied from interface:IItemReuseStrategy
Returns an iterator over items that will be added to the view. The iterator needs to return all the items because the old ones are removed prior to the new ones added.- Specified by:
getItems
in interfaceIItemReuseStrategy
- Type Parameters:
T
- type of Item- Parameters:
factory
- implementation of IItemFactorynewModels
- iterator over models for itemsexistingItems
- iterator over child items- Returns:
- iterator over items that will be added after all the old items are moved.
- See Also:
IItemReuseStrategy.getItems(org.apache.wicket.markup.repeater.IItemFactory, java.util.Iterator, java.util.Iterator)
-
-