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 the IDetachable.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:
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    Detaches model after use.
    Iterator<? extends T>
    iterator(long first, long count)
    Gets an iterator for the subset of total data
    model(T object)
    Callback used by the consumer of this data provider to wrap objects retrieved from iterator(long, long) with a model (usually a detachable one).
    long
    Gets total number of items in the collection represented by the DataProvider
  • Method Details

    • iterator

      Iterator<? extends T> iterator(long first, long count)
      Gets an iterator for the subset of total data
      Parameters:
      first - first row of data
      count - 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 from iterator(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 interface IDetachable