Class AbstractDataProvider<T>

java.lang.Object
com.google.gwt.view.client.AbstractDataProvider<T>
Type Parameters:
T - the data type of records in the list
All Implemented Interfaces:
ProvidesKey<T>
Direct Known Subclasses:
AsyncDataProvider, ListDataProvider

public abstract class AbstractDataProvider<T> extends Object implements ProvidesKey<T>
A base implementation of a data source for HasData implementations.
  • Constructor Details

    • AbstractDataProvider

      protected AbstractDataProvider()
      Construct an AbstractDataProvider without a key provider.
    • AbstractDataProvider

      protected AbstractDataProvider(ProvidesKey<T> keyProvider)
      Construct an AbstractDataProvider with a given key provider.
      Parameters:
      keyProvider - a ProvidesKey object
  • Method Details

    • addDataDisplay

      public void addDataDisplay(HasData<T> display)
      Adds a data display to this adapter. The current range of interest of the display will be populated with data.
      Parameters:
      display - a HasData.
    • getDataDisplays

      public Set<HasData<T>> getDataDisplays()
      Get the set of displays currently assigned to this adapter.
      Returns:
      the set of HasData
    • getKey

      public Object getKey(T item)
      Get the key for a list item. The default implementation returns the item itself.
      Specified by:
      getKey in interface ProvidesKey<T>
      Parameters:
      item - the list item
      Returns:
      the key that represents the item
    • getKeyProvider

      public ProvidesKey<T> getKeyProvider()
      Get the ProvidesKey that provides keys for list items.
      Returns:
      the ProvidesKey
    • getRanges

      public Range[] getRanges()
      Get the current ranges of all displays.
      Returns:
      the ranges
    • removeDataDisplay

      public void removeDataDisplay(HasData<T> display)
      Remove the given data display.
      Parameters:
      display - a HasData instance
      Throws:
      IllegalStateException - if the display is not present
    • onRangeChanged

      protected abstract void onRangeChanged(HasData<T> display)
      Called when a display changes its range of interest.
      Parameters:
      display - the display whose range has changed
    • updateRowCount

      protected void updateRowCount(int count, boolean exact)
      Inform the displays of the total number of items that are available.
      Parameters:
      count - the new total row count
      exact - true if the count is exact, false if it is an estimate
    • updateRowData

      protected void updateRowData(int start, List<T> values)
      Inform the displays of the new data.
      Parameters:
      start - the start index
      values - the data values
    • updateRowData

      protected void updateRowData(HasData<T> display, int start, List<T> values)
      Informs a single display of new data.
      Parameters:
      display - the display to be updated
      start - the start index
      values - the data values