GWT 2.7.0

com.google.gwt.view.client
Class AbstractDataProvider<T>

java.lang.Object
  extended by 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 java.lang.Object
implements ProvidesKey<T>

A base implementation of a data source for HasData implementations.


Constructor Summary
protected AbstractDataProvider()
          Construct an AbstractDataProvider without a key provider.
protected AbstractDataProvider(ProvidesKey<T> keyProvider)
          Construct an AbstractDataProvider with a given key provider.
 
Method Summary
 void addDataDisplay(HasData<T> display)
          Adds a data display to this adapter.
 java.util.Set<HasData<T>> getDataDisplays()
          Get the set of displays currently assigned to this adapter.
 java.lang.Object getKey(T item)
          Get the key for a list item.
 ProvidesKey<T> getKeyProvider()
          Get the ProvidesKey that provides keys for list items.
 Range[] getRanges()
          Get the current ranges of all displays.
protected abstract  void onRangeChanged(HasData<T> display)
          Called when a display changes its range of interest.
 void removeDataDisplay(HasData<T> display)
          Remove the given data display.
protected  void updateRowCount(int count, boolean exact)
          Inform the displays of the total number of items that are available.
protected  void updateRowData(HasData<T> display, int start, java.util.List<T> values)
          Informs a single display of new data.
protected  void updateRowData(int start, java.util.List<T> values)
          Inform the displays of the new data.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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 Detail

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 java.util.Set<HasData<T>> getDataDisplays()
Get the set of displays currently assigned to this adapter.

Returns:
the set of HasData

getKey

public java.lang.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:
java.lang.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,
                             java.util.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,
                             java.util.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

GWT 2.7.0