org.apache.wicket.markup.repeater.data
Class ListDataProvider<T extends Serializable>

java.lang.Object
  extended by org.apache.wicket.markup.repeater.data.ListDataProvider<T>
Type Parameters:
T -
All Implemented Interfaces:
Serializable, IClusterable, IDataProvider<T>, IDetachable

public class ListDataProvider<T extends Serializable>
extends Object
implements IDataProvider<T>

Allows the use of lists with DataView. The only requirement is that either list items must be serializable or model(Object) needs to be overridden to provide the proper model implementation.

Author:
Igor Vaynberg ( ivaynberg )
See Also:
Serialized Form

Constructor Summary
ListDataProvider()
          Constructs an empty provider.
ListDataProvider(List<T> list)
           
 
Method Summary
 void detach()
          Detaches model after use.
protected  List<T> getData()
          Subclass to lazy load the list
 Iterator<? extends T> iterator(int first, int count)
          Gets an iterator for the subset of total data
 IModel<T> model(T object)
          Callback used by the consumer of this data provider to wrap objects retrieved from IDataProvider.iterator(int, int) with a model (usually a detachable one).
 int size()
          Gets total number of items in the collection represented by the DataProvider
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ListDataProvider

public ListDataProvider()
Constructs an empty provider. Useful for lazy loading together with getData()


ListDataProvider

public ListDataProvider(List<T> list)
Parameters:
list - the list used as dataprovider for the dataview
Method Detail

getData

protected List<T> getData()
Subclass to lazy load the list

Returns:
The list

iterator

public Iterator<? extends T> iterator(int first,
                                      int count)
Description copied from interface: IDataProvider
Gets an iterator for the subset of total data

Specified by:
iterator in interface IDataProvider<T extends Serializable>
Parameters:
first - first row of data
count - minimum number of elements to retrieve
Returns:
iterator capable of iterating over {first, first+count} items
See Also:
IDataProvider.iterator(int, int)

size

public int size()
Description copied from interface: IDataProvider
Gets total number of items in the collection represented by the DataProvider

Specified by:
size in interface IDataProvider<T extends Serializable>
Returns:
total item count
See Also:
IDataProvider.size()

model

public IModel<T> model(T object)
Description copied from interface: IDataProvider
Callback used by the consumer of this data provider to wrap objects retrieved from IDataProvider.iterator(int, int) with a model (usually a detachable one).

Specified by:
model in interface IDataProvider<T extends Serializable>
Parameters:
object - the object that needs to be wrapped
Returns:
the model representation of the object
See Also:
IDataProvider.model(Object)

detach

public void detach()
Description copied from interface: IDetachable
Detaches model after use. This is generally used to null out transient references that can be re-attached later.

Specified by:
detach in interface IDetachable
See Also:
IDetachable.detach()


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