T - data provider data typeF - wrapper query filter typeM - underlying data provider filter typepublic abstract class DataProviderWrapper<T,F,M> extends Object implements DataProvider<T,F>
Query for the underlying data
provider with correct filters and sorting.| Modifier and Type | Field and Description |
|---|---|
protected DataProvider<T,M> |
dataProvider
The actual data provider behind this wrapper.
|
| Modifier | Constructor and Description |
|---|---|
protected |
DataProviderWrapper(DataProvider<T,M> dataProvider)
Constructs a filtering wrapper for a data provider.
|
| Modifier and Type | Method and Description |
|---|---|
Registration |
addDataProviderListener(DataProviderListener<T> listener)
Adds a data provider listener.
|
Stream<T> |
fetch(Query<T,F> t)
Fetches data from this DataProvider using given
query. |
protected abstract M |
getFilter(Query<T,F> query)
Gets the filter that should be used in the modified Query.
|
Object |
getId(T item)
Gets an identifier for the given item.
|
boolean |
isInMemory()
Gets whether the DataProvider content all available in memory or does it
use some external backend.
|
void |
refreshAll()
Refreshes all data based on currently available data in the underlying
provider.
|
void |
refreshItem(T item)
Refreshes the given item.
|
int |
size(Query<T,F> t)
Gets the amount of data in this DataProvider.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitfromCallbacks, fromFilteringCallbacks, fromStream, ofCollection, ofItems, withConfigurableFilter, withConfigurableFilter, withConvertedFilterprotected DataProvider<T,M> dataProvider
protected DataProviderWrapper(DataProvider<T,M> dataProvider)
dataProvider - the wrapped data provider, not nullpublic boolean isInMemory()
DataProviderisInMemory in interface DataProvider<T,F>true if all data is in memory; false if notpublic void refreshAll()
DataProviderrefreshAll in interface DataProvider<T,F>public void refreshItem(T item)
DataProviderDataProviderListeners that an item has been
updated or replaced with a new instance.
For this to work properly, the item must either implement
#equals(Object) and #hashCode() to consider both the old
and the new item instances to be equal, or alternatively
DataProvider.getId(Object) should be implemented to return an appropriate
identifier.
refreshItem in interface DataProvider<T,F>item - the item to refreshDataProvider.getId(Object)public Object getId(T item)
DataProvider
Default is to use item itself as its own identifier. If the item has
Object.equals(Object) and Object.hashCode() implemented
in a way that it can be compared to other items, no changes are required.
Note: This method will be called often by the Framework. It should not do any expensive operations.
getId in interface DataProvider<T,F>item - the item to get identifier for; not nullnullpublic Registration addDataProviderListener(DataProviderListener<T> listener)
DataProvider
The DataProvider.refreshAll() method fires DataChangeEvent each time
when it's called. It allows to update UI components when user changes
something in the underlying data.
addDataProviderListener in interface DataProvider<T,F>listener - the data change listener, not nullDataProvider.refreshAll()public int size(Query<T,F> t)
DataProvidersize in interface DataProvider<T,F>t - query with sorting and filteringpublic Stream<T> fetch(Query<T,F> t)
DataProviderquery.fetch in interface DataProvider<T,F>t - given query to request datanullCopyright © 2018 Vaadin Ltd. All rights reserved.