Class ReuseIfModelsEqualStrategy

  extended by org.apache.wicket.markup.repeater.ReuseIfModelsEqualStrategy
All Implemented Interfaces:
Serializable, IClusterable, IItemReuseStrategy

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 equals method. Most of the time it is a good idea to forward the equals call to the object, however if a detachable model is used it is often enough to compare object ids models point to ( this saves the model from loading the object).

Igor Vaynberg (ivaynberg)
See Also:
Serialized Form

Constructor Summary
Method Summary
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.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public ReuseIfModelsEqualStrategy()
Method Detail


public static IItemReuseStrategy getInstance()
static instance


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 interface IItemReuseStrategy
Type Parameters:
T - type of Item
factory - implementation of IItemFactory
newModels - iterator over models for items
existingItems - iterator over child items
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)

Copyright © 2004-2011 Apache Software Foundation. All Rights Reserved.