com.vaadin.flow.data.provider.
Class DataProviderWrapper<T,F,M>
Type Parameters:
T
- data provider data type
F
- wrapper query filter type
M
- underlying data provider filter type
All Implemented Interfaces:
DataProvider<T,
, Serializable
Direct Known Subclasses:
Wrapper class for modifying, chaining and replacing filters and sorting in a
query. Used to create a suitable Query
for the underlying data
provider with correct filters and sorting.
Since:
1.0.
Author:
Vaadin Ltd
See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected DataProvider<T,
M> The actual data provider behind this wrapper.
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
DataProviderWrapper
(DataProvider<T, M> dataProvider) Constructs a filtering wrapper for a data provider.
-
Method Summary
Modifier and TypeMethodDescriptionaddDataProviderListener
(DataProviderListener<T> listener) Adds a data provider listener.
Fetches data from this DataProvider using given
query
.protected abstract M
Gets the filter that should be used in the modified Query.
Gets an identifier for the given item.
boolean
Gets whether the DataProvider content all available in memory or does it use some external backend.
void
Refreshes all data based on currently available data in the underlying provider.
void
refreshItem
(T item) Refreshes the given item.
int
Gets the amount of data in this DataProvider.
toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.vaadin.flow.data.provider.DataProvider
refreshItem, withConfigurableFilter, withConfigurableFilter, withConvertedFilter
-
Field Details
-
dataProvider
The actual data provider behind this wrapper.
-
-
Constructor Details
-
DataProviderWrapper
Constructs a filtering wrapper for a data provider.
Parameters:
dataProvider
- the wrapped data provider, notnull
-
-
Method Details
-
isInMemory
public boolean isInMemory()Description copied from interface:
DataProvider
Gets whether the DataProvider content all available in memory or does it use some external backend.
Specified by:
isInMemory
in interfaceDataProvider<T,
F> Returns:
true
if all data is in memory;false
if not -
refreshAll
public void refreshAll()Description copied from interface:
DataProvider
Refreshes all data based on currently available data in the underlying provider.
Specified by:
refreshAll
in interfaceDataProvider<T,
F> -
refreshItem
Description copied from interface:
DataProvider
Refreshes the given item. This method should be used to inform all
DataProviderListeners
that an item has been updated or replaced with a new instance.For this to work properly, the item must either implement
Object.equals(Object)
andObject.hashCode()
to consider both the old and the new item instances to be equal, or alternativelyDataProvider.getId(Object)
should be implemented to return an appropriate identifier.Specified by:
refreshItem
in interfaceDataProvider<T,
F> Parameters:
item
- the item to refreshSee Also:
-
getId
Description copied from interface:
DataProvider
Gets an identifier for the given item. This identifier is used by the framework to determine equality between two items.
Default is to use item itself as its own identifier. If the item has
Object.equals(Object)
andObject.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.
Specified by:
getId
in interfaceDataProvider<T,
F> Parameters:
item
- the item to get identifier for; notnull
Returns:
the identifier for given item; not
null
-
addDataProviderListener
Description copied from interface:
DataProvider
Adds a data provider listener. The listener is called when some piece of data is updated.
The
DataProvider.refreshAll()
method firesDataChangeEvent
each time when it's called. It allows to update UI components when user changes something in the underlying data.Specified by:
addDataProviderListener
in interfaceDataProvider<T,
F> Parameters:
listener
- the data change listener, not nullReturns:
a registration for the listener
See Also:
-
size
Description copied from interface:
DataProvider
Gets the amount of data in this DataProvider.
Specified by:
size
in interfaceDataProvider<T,
F> Parameters:
t
- query with sorting and filteringReturns:
the size of the data provider
-
fetch
Description copied from interface:
DataProvider
Fetches data from this DataProvider using given
query
.Specified by:
fetch
in interfaceDataProvider<T,
F> Parameters:
t
- given query to request dataReturns:
the result of the query request: a stream of data objects, not
null
-
getFilter
Gets the filter that should be used in the modified Query.
Parameters:
query
- the current queryReturns:
filter for the modified Query
-
toString
-