org.cruxframework.crux.core.client.dataprovider
Class AsyncStreamingDataProvider<T>

java.lang.Object
  extended by org.cruxframework.crux.core.client.dataprovider.AsyncStreamingDataProvider<T>
All Implemented Interfaces:
AsyncDataProvider<T>, DataProvider<T>, PagedDataProvider<T>, StreamingDataProvider<T>

public abstract class AsyncStreamingDataProvider<T>
extends Object
implements StreamingDataProvider<T>

Author:
Thiago da Rosa de Bustamante

Field Summary
protected  AsyncDataProviderCallback asynchronousCallback
           
protected  int currentPage
           
protected  int currentRecord
           
protected  List<DataProviderRecord<T>> data
           
protected  org.cruxframework.crux.core.client.dataprovider.StreamingDataProviderOperations<T> editableOperations
           
protected  int pageSize
           
 
Constructor Summary
AsyncStreamingDataProvider()
           
 
Method Summary
 void cancelFetching()
           
protected  void checkChanges()
           
 void clearChanges()
          Undo all changes
protected  AsyncDataProviderEvent<T> createAsynchronousDataProviderEvent(int startRecord, int endRecord)
           
protected  void ensureCurrentPageLoaded()
           
protected  void fetchCurrentPage()
           
 void firstRecord()
          Points DataProvider to first record
 T getBoundObject()
          Return a copy of the current record object.
 int getCurrentPage()
           
 int getCurrentPageSize()
           
 int getIndex(T boundObject)
          Retrieve the index of the given object
 DataProviderRecord<T>[] getNewRecords()
          Return all records inserted on DataProvider
protected  int getPageEndRecord()
           
 int getPageSize()
           
protected  int getPageStartRecord()
           
 DataProviderRecord<T> getRecord()
          Return the DataProviderRecord object, representing the current record
 DataProviderRecord<T>[] getRemovedRecords()
          Return all records removed from DataProvider
 DataProviderRecord<T>[] getSelectedRecords()
          Return all records selected on DataProvider
 DataProviderRecord<T>[] getUpdatedRecords()
          Return all records modified on DataProvider
 boolean hasNextPage()
           
 boolean hasNextRecord()
          Verify if DataProvider has more records.
 boolean hasPreviousPage()
           
 boolean hasPreviousRecord()
          Verify if DataProvider has previous records.
 DataProviderRecord<T> insertRecord(int index)
          Insert a new record on DataProvider
protected  boolean isCurrentPageLoaded()
           
protected  boolean isRecordOnPage(int record)
           
 boolean nextPage()
           
 void nextRecord()
          Points DataProvider to next record
 boolean previousPage()
           
 void previousRecord()
          Points DataProvider to previous record
 DataProviderRecord<T> removeRecord(int index)
          Remove a record from DataProvider
 void reset()
          Reset DataProvider, as if it was never loaded before.
 void selectRecord(int index, boolean selected)
          Mark the given record as selected
 void setCallback(AsyncDataProviderCallback callback)
           
 void setCallback(PagedDataProviderCallback callback)
           
 void setPageSize(int pageSize)
           
 void sort(Comparator<T> comparator)
          Sort DataProvider records, based on column informed
protected  void sortArray(DataProviderRecord<T>[] array, Comparator<T> comparator)
           
protected  void update(DataProviderRecord<T>[] records)
           
protected  void updateCurrentRecord()
           
 void updateData(Array<T> data)
          Method called to bind some data to the DataProvider
 void updateData(List<T> data)
          Method called to bind some data to the DataProvider
 void updateData(T[] data)
          Method called to bind some data to the DataProvider
protected  int updatePageRecords(int startRecord, int endRecord, DataProviderRecord<T>[] records)
           
protected  int updateRecords(int startRecord, int endRecord, DataProviderRecord<T>[] records)
           
 void updateState(DataProviderRecord<T> record, DataProviderRecord.DataProviderRecordState previousState)
          Update a record on DataProvider
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.cruxframework.crux.core.client.dataprovider.AsyncDataProvider
fetch
 

Field Detail

editableOperations

protected org.cruxframework.crux.core.client.dataprovider.StreamingDataProviderOperations<T> editableOperations

data

protected List<DataProviderRecord<T>> data

currentRecord

protected int currentRecord

pageSize

protected int pageSize

currentPage

protected int currentPage

asynchronousCallback

protected AsyncDataProviderCallback asynchronousCallback
Constructor Detail

AsyncStreamingDataProvider

public AsyncStreamingDataProvider()
Method Detail

insertRecord

public DataProviderRecord<T> insertRecord(int index)
Description copied from interface: DataProvider
Insert a new record on DataProvider

Specified by:
insertRecord in interface DataProvider<T>
Returns:

removeRecord

public DataProviderRecord<T> removeRecord(int index)
Description copied from interface: DataProvider
Remove a record from DataProvider

Specified by:
removeRecord in interface DataProvider<T>
Returns:

updateState

public void updateState(DataProviderRecord<T> record,
                        DataProviderRecord.DataProviderRecordState previousState)
Description copied from interface: DataProvider
Update a record on DataProvider

Specified by:
updateState in interface DataProvider<T>

getNewRecords

public DataProviderRecord<T>[] getNewRecords()
Description copied from interface: DataProvider
Return all records inserted on DataProvider

Specified by:
getNewRecords in interface DataProvider<T>
Returns:
all new records

getRemovedRecords

public DataProviderRecord<T>[] getRemovedRecords()
Description copied from interface: DataProvider
Return all records removed from DataProvider

Specified by:
getRemovedRecords in interface DataProvider<T>
Returns:
all removed records

getUpdatedRecords

public DataProviderRecord<T>[] getUpdatedRecords()
Description copied from interface: DataProvider
Return all records modified on DataProvider

Specified by:
getUpdatedRecords in interface DataProvider<T>
Returns:
all modified records

getSelectedRecords

public DataProviderRecord<T>[] getSelectedRecords()
Description copied from interface: DataProvider
Return all records selected on DataProvider

Specified by:
getSelectedRecords in interface DataProvider<T>
Returns:
all selected records

clearChanges

public void clearChanges()
Description copied from interface: DataProvider
Undo all changes

Specified by:
clearChanges in interface DataProvider<T>

setCallback

public void setCallback(AsyncDataProviderCallback callback)
Specified by:
setCallback in interface AsyncDataProvider<T>

setCallback

public void setCallback(PagedDataProviderCallback callback)
Specified by:
setCallback in interface PagedDataProvider<T>

getIndex

public int getIndex(T boundObject)
Description copied from interface: DataProvider
Retrieve the index of the given object

Specified by:
getIndex in interface DataProvider<T>
Returns:

selectRecord

public void selectRecord(int index,
                         boolean selected)
Description copied from interface: DataProvider
Mark the given record as selected

Specified by:
selectRecord in interface DataProvider<T>

cancelFetching

public void cancelFetching()
Specified by:
cancelFetching in interface AsyncDataProvider<T>

getRecord

public DataProviderRecord<T> getRecord()
Description copied from interface: DataProvider
Return the DataProviderRecord object, representing the current record

Specified by:
getRecord in interface DataProvider<T>
Returns:
current DataProviderRecord object.

hasNextRecord

public boolean hasNextRecord()
Description copied from interface: DataProvider
Verify if DataProvider has more records.

Specified by:
hasNextRecord in interface DataProvider<T>
Returns:
true if more records exist.

nextRecord

public void nextRecord()
Description copied from interface: DataProvider
Points DataProvider to next record

Specified by:
nextRecord in interface DataProvider<T>

firstRecord

public void firstRecord()
Description copied from interface: DataProvider
Points DataProvider to first record

Specified by:
firstRecord in interface DataProvider<T>

hasPreviousRecord

public boolean hasPreviousRecord()
Description copied from interface: DataProvider
Verify if DataProvider has previous records.

Specified by:
hasPreviousRecord in interface DataProvider<T>
Returns:
true if previous records exist.

previousRecord

public void previousRecord()
Description copied from interface: DataProvider
Points DataProvider to previous record

Specified by:
previousRecord in interface DataProvider<T>

reset

public void reset()
Description copied from interface: DataProvider
Reset DataProvider, as if it was never loaded before.

Specified by:
reset in interface DataProvider<T>

getCurrentPage

public int getCurrentPage()
Specified by:
getCurrentPage in interface PagedDataProvider<T>

getCurrentPageSize

public int getCurrentPageSize()
Specified by:
getCurrentPageSize in interface PagedDataProvider<T>

getPageSize

public int getPageSize()
Specified by:
getPageSize in interface PagedDataProvider<T>

hasNextPage

public boolean hasNextPage()
Specified by:
hasNextPage in interface PagedDataProvider<T>

hasPreviousPage

public boolean hasPreviousPage()
Specified by:
hasPreviousPage in interface PagedDataProvider<T>

nextPage

public boolean nextPage()
Specified by:
nextPage in interface PagedDataProvider<T>

previousPage

public boolean previousPage()
Specified by:
previousPage in interface PagedDataProvider<T>

setPageSize

public void setPageSize(int pageSize)
Specified by:
setPageSize in interface PagedDataProvider<T>

updateData

public void updateData(T[] data)
Description copied from interface: DataProvider
Method called to bind some data to the DataProvider

Specified by:
updateData in interface DataProvider<T>

updateData

public void updateData(List<T> data)
Description copied from interface: DataProvider
Method called to bind some data to the DataProvider

Specified by:
updateData in interface DataProvider<T>

updateData

public void updateData(Array<T> data)
Description copied from interface: DataProvider
Method called to bind some data to the DataProvider

Specified by:
updateData in interface DataProvider<T>

sort

public void sort(Comparator<T> comparator)
Description copied from interface: DataProvider
Sort DataProvider records, based on column informed

Specified by:
sort in interface DataProvider<T>
Parameters:
comparator - Comparator used for sorting.

getBoundObject

public T getBoundObject()
Description copied from interface: DataProvider
Return a copy of the current record object.

Specified by:
getBoundObject in interface DataProvider<T>
Returns:

ensureCurrentPageLoaded

protected void ensureCurrentPageLoaded()

isCurrentPageLoaded

protected boolean isCurrentPageLoaded()

isRecordOnPage

protected boolean isRecordOnPage(int record)

getPageEndRecord

protected int getPageEndRecord()

getPageStartRecord

protected int getPageStartRecord()

sortArray

protected void sortArray(DataProviderRecord<T>[] array,
                         Comparator<T> comparator)

updateCurrentRecord

protected void updateCurrentRecord()

fetchCurrentPage

protected void fetchCurrentPage()

update

protected void update(DataProviderRecord<T>[] records)

updateRecords

protected int updateRecords(int startRecord,
                            int endRecord,
                            DataProviderRecord<T>[] records)

updatePageRecords

protected int updatePageRecords(int startRecord,
                                int endRecord,
                                DataProviderRecord<T>[] records)

checkChanges

protected void checkChanges()

createAsynchronousDataProviderEvent

protected AsyncDataProviderEvent<T> createAsynchronousDataProviderEvent(int startRecord,
                                                                        int endRecord)


Copyright © 2014. All rights reserved.