Interface IDataProvider<T>
-
- Type Parameters:
T
-
- All Superinterfaces:
IClusterable
,IDetachable
,Serializable
- All Known Subinterfaces:
ISortableDataProvider<T,S>
,ITreeDataProvider<T>
- All Known Implementing Classes:
EmptyDataProvider
,ListDataProvider
,SortableDataProvider
,TreeDataProvider
public interface IDataProvider<T> extends IDetachable
Interface used to provide data to data views. Example:class UsersProvider implements IDataProvider { public Iterator iterator(long first, long count) { ((MyApplication)Application.get()).getUserDao().iterator(first, count); } public long size() { ((MyApplication)Application.get()).getUserDao().getCount(); } public IModel model(Object object) { return new DetachableUserModel((User)object); } }
You can use theIDetachable.detach()
method for cleaning up your IDataProvider instance. So that you can do one query that returns both the size and the values if your dataset is small enough the be able to do that.- Author:
- Igor Vaynberg (ivaynberg)
- See Also:
IDetachable
,DataViewBase
,DataView
,GridView
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
detach()
Detaches model after use.Iterator<? extends T>
iterator(long first, long count)
Gets an iterator for the subset of total dataIModel<T>
model(T object)
Callback used by the consumer of this data provider to wrap objects retrieved fromiterator(long, long)
with a model (usually a detachable one).long
size()
Gets total number of items in the collection represented by the DataProvider
-
-
-
Method Detail
-
iterator
Iterator<? extends T> iterator(long first, long count)
Gets an iterator for the subset of total data- Parameters:
first
- first row of datacount
- minimum number of elements to retrieve- Returns:
- iterator capable of iterating over {first, first+count} items
-
size
long size()
Gets total number of items in the collection represented by the DataProvider- Returns:
- total item count
-
model
IModel<T> model(T object)
Callback used by the consumer of this data provider to wrap objects retrieved fromiterator(long, long)
with a model (usually a detachable one).- Parameters:
object
- the object that needs to be wrapped- Returns:
- the model representation of the object
-
detach
default 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 interfaceIDetachable
-
-