com.vaadin.flow.data.provider.
Interface ListDataView<T,V extends ListDataView<T,?>>
Type Parameters:
T
- data type
V
- ListDataView type
All Superinterfaces:
DataView<T>
, Serializable
All Known Implementing Classes:
AbstractListDataView
, CheckboxGroupListDataView
, ComboBoxListDataView
, GridListDataView
, ListBoxListDataView
, RadioButtonGroupListDataView
, SelectListDataView
DataView for a in-memory list data that provides information on the data and
allows operations on it. Mutation operations can be used only if the backing
List
is mutable.
Since:
-
Method Summary
Modifier and TypeMethodDescriptionaddFilter
(SerializablePredicate<T> filter) Adds a filter to be applied to all queries.
Adds an item to the data list if it is not already present.
addItemAfter
(T item, T after) Adds an item after the given target item.
addItemBefore
(T item, T before) Adds an item before the given target item.
addItems
(Collection<T> items) Adds multiple items to the data list.
addItemsAfter
(Collection<T> items, T after) Adds multiple items after the given target item.
addItemsBefore
(Collection<T> items, T before) Adds multiple items before the given target item.
addSortComparator
(SerializableComparator<T> sortComparator) Adds a comparator to the data default sorting.
<V1 extends Comparable<? super V1>>
VaddSortOrder
(ValueProvider<T, V1> valueProvider, SortDirection sortDirection) Adds a property and direction to the default sorting.
boolean
Check if item is present in the currently filtered data set.
int
Get the full item count with filters if any set.
getNextItem
(T item) Gets the item after given item from the filtered and sorted data.
getPreviousItem
(T item) Gets the item before given item from the filtered and sorted data.
Removes all in-memory filters set or added.
removeItem
(T item) Remove an item from the data list.
removeItems
(Collection<T> items) Remove multiple items from the data list.
Removes any default sorting that has been set or added previously.
setFilter
(SerializablePredicate<T> filter) Sets a filter to be applied to the data.
setSortComparator
(SerializableComparator<T> sortComparator) Sets the comparator to use as the default sorting.
<V1 extends Comparable<? super V1>>
VsetSortOrder
(ValueProvider<T, V1> valueProvider, SortDirection sortDirection) Sets the property and direction to use as the default sorting.
Methods inherited from interface com.vaadin.flow.data.provider.DataView
addItemCountChangeListener, getItem, getItemIndex, getItems, refreshAll, refreshItem, setIdentifierProvider
-
Method Details
-
contains
Check if item is present in the currently filtered data set.
By default,
equals
method implementation of the item is used for identity check. If a custom data provider is used, then theDataProvider.getId(Object)
method is used instead. Item's custom identity can be set up with aDataView.setIdentifierProvider(IdentifierProvider)
.Parameters:
item
- item to search forReturns:
true
if item is found in filtered data setSee Also:
-
getItemCount
int getItemCount()Get the full item count with filters if any set. As the item count might change at any point, it is recommended to add a listener with the
DataView.addItemCountChangeListener(ComponentEventListener)
method instead to get notified when the item count has changed.Returns:
filtered item count
See Also:
-
getNextItem
Gets the item after given item from the filtered and sorted data.
Note! Item might be present in the data set, but be filtered out or be the last item so that the next item won't be available.
Parameters:
item
- item to get next forReturns:
next item if available, else empty optional if item doesn't exist or not in current filtered items
See Also:
-
getPreviousItem
Gets the item before given item from the filtered and sorted data.
Note! Item might be present in the data set, but be filtered out or be the first item so that the previous item won't be available.
Parameters:
item
- item to get previous forReturns:
previous item if available, else empty optional if item doesn't exist or not in current filtered items
See Also:
-
addItem
Adds an item to the data list if it is not already present.
The backing
List
must be mutable to use this method. Immutable data structure will throw an exception.Refreshes all items of the component after adding the item, i.e. runs
DataView.refreshAll()
.Parameters:
item
- item to addReturns:
this ListDataView instance
Throws:
UnsupportedOperationException
- if backing collection doesn't support modificationSee Also:
-
addItemAfter
Adds an item after the given target item.
The backing
List
must be mutable to use this method. Immutable data structure will throw an exception.If the item is already present in the data provider, then it is moved.
Refreshes all items of the component after adding the item, i.e. runs
DataView.refreshAll()
.Note! Item is added to the unfiltered and unsorted List.
Parameters:
item
- item to addafter
- item after which to add the item atReturns:
this ListDataView instance
Throws:
UnsupportedOperationException
- if backing collection doesn't support modificationIllegalArgumentException
- if item doesn't exist or collection is not a listSee Also:
-
addItemBefore
Adds an item before the given target item.
The backing
List
must be mutable to use this method. Immutable data structure will throw an exception.If the item is already present in the data provider, then it is moved.
Refreshes all items of the component after adding the item, i.e. runs
DataView.refreshAll()
.Note! Item is added to the unfiltered and unsorted List.
Parameters:
item
- item to addbefore
- item before which to add the item atReturns:
this ListDataView instance
Throws:
UnsupportedOperationException
- if backing collection doesn't support modificationIllegalArgumentException
- if item doesn't exist or collection is not a listSee Also:
-
addItems
Adds multiple items to the data list.
The backing
List
must be mutable to use this method. Immutable data structure will throw an exception.Any items that already present in the data provider are moved to the end.
Refreshes all items of the component after adding the items, i.e. runs
DataView.refreshAll()
.Parameters:
items
- collection of item to addReturns:
this ListDataView instance
Throws:
UnsupportedOperationException
- if backing collection doesn't support modificationSee Also:
-
addItemsAfter
Adds multiple items after the given target item. The full collection is added in order after the target.
The backing
List
must be mutable to use this method. Immutable data structure will throw an exception. Any items that already present in the data provider are moved.Refreshes all items of the component after adding the item, i.e. runs
DataView.refreshAll()
.Note! Item is added to the unfiltered and unsorted List.
Parameters:
items
- collection of items to addafter
- item after which to add the item atReturns:
this ListDataView instance
Throws:
UnsupportedOperationException
- if backing collection doesn't support modificationIllegalArgumentException
- if item doesn't exist or collection is not a listSee Also:
-
addItemsBefore
Adds multiple items before the given target item. The full collection is added in order before the target.
The backing
List
must be mutable to use this method. Immutable data structure will throw an exception.Any items that already present in the data provider are moved.
Refreshes all items of the component after adding the item, i.e. runs
DataView.refreshAll()
.Note! Item is added to the unfiltered and unsorted List.
Parameters:
items
- collection of items to addbefore
- item before which to add the item atReturns:
this ListDataView instance
Throws:
UnsupportedOperationException
- if backing collection doesn't support modificationIllegalArgumentException
- if item doesn't exist or collection is not a listSee Also:
-
removeItem
Remove an item from the data list.
The backing
List
must be mutable to use this method. Immutable data structure will throw an exception.Refreshes all items of the component after removing the item, i.e. runs
DataView.refreshAll()
.Parameters:
item
- item to removeReturns:
this ListDataView instance
Throws:
UnsupportedOperationException
- if backing collection doesn't support modificationSee Also:
-
removeItems
Remove multiple items from the data list.
The backing
List
must be mutable to use this method. Immutable data structure will throw an exception.Parameters:
items
- collection of items to removeReturns:
this ListDataView instance
Throws:
UnsupportedOperationException
- if backing collection doesn't support modificationSee Also:
-
setFilter
Sets a filter to be applied to the data. The filter replaces any filter that has been set or added previously.
null
will clear all filters.This filter is bound to the component. Thus, any other component using the same
DataProvider
object would not be affected by setting a filter through data view of another component. A filter set by this method won't be retained when a newDataProvider
is set to the component.Refreshes all items of the component after setting the filter, i.e. runs
DataView.refreshAll()
.Parameters:
filter
- filter to be set, ornull
to clear any previously set filtersReturns:
ListDataView instance
See Also:
-
addFilter
Adds a filter to be applied to all queries. The filter will be used in addition to any filter that has been set or added previously.
This filter is bound to the component. Thus, any other component using the same
DataProvider
object would not be affected by setting a filter through data view of another component. A filter set by this method won't be retained when a newDataProvider
is set to the component.Refreshes all items of the component after adding the filter, i.e. runs
DataView.refreshAll()
.Parameters:
filter
- the filter to add, notnull
Returns:
ListDataView instance
See Also:
-
removeFilters
V removeFilters()Removes all in-memory filters set or added.
Refreshes all items of the component after removing the filter, i.e. runs
DataView.refreshAll()
.Returns:
ListDataView instance
See Also:
-
setSortComparator
Sets the comparator to use as the default sorting. This overrides the sorting set by any other method that manipulates the default sorting.
This comparator is bound to the component. Thus, any other component using the same
DataProvider
object would not be affected by setting a sort comparator through data view of another component. A sorting set by this method won't be retained when a newDataProvider
is set to the component.Refreshes all items of the component after setting the sorting, i.e. runs
DataView.refreshAll()
.Parameters:
sortComparator
- a comparator to use, ornull
to clear any previously set sort orderReturns:
ListDataView instance
See Also:
-
addSortComparator
Adds a comparator to the data default sorting. If no default sorting has been defined, then the provided comparator will be used as the default sorting. If a default sorting has been defined, then the provided comparator will be used to determine the ordering of items that are considered equal by the previously defined default sorting.
This comparator is bound to the component. Thus, any other component using the same
DataProvider
object would not be affected by setting a sort comparator through data view of another component. A sorting set by this method won't be retained when a newDataProvider
is set to the component.Refreshes all items of the component after adding the sorting, i.e. runs
DataView.refreshAll()
.Parameters:
sortComparator
- a comparator to add, notnull
Returns:
ListDataView instance
See Also:
-
removeSorting
V removeSorting()Removes any default sorting that has been set or added previously.
Any other component using the same
DataProvider
object would not be affected by removing default sorting through data view of another component.Refreshes all items of the component after removing the sorting, i.e. runs
DataView.refreshAll()
.Returns:
ListDataView instance
See Also:
-
setSortOrder
<V1 extends Comparable<? super V1>> V setSortOrder(ValueProvider<T, V1> valueProvider, SortDirection sortDirection) Sets the property and direction to use as the default sorting. This overrides the sorting set by any other method that manipulates the default sorting of this
DataProvider
.This sort order is bound to the component. Thus, any other component using the same
DataProvider
object would not be affected by setting a sort order through data view of another component. A sort order set by this method won't be retained when a newDataProvider
is set to the component.Refreshes all items of the component after setting the sorting, i.e. runs
DataView.refreshAll()
.Type Parameters:
V1
- the provided value typeParameters:
valueProvider
- the value provider that defines the property do sort by, notnull
sortDirection
- the sort direction to use, notnull
Returns:
ListDataView instance
See Also:
-
addSortOrder
<V1 extends Comparable<? super V1>> V addSortOrder(ValueProvider<T, V1> valueProvider, SortDirection sortDirection) Adds a property and direction to the default sorting. If no default sorting has been defined, then the provided sort order will be used as the default sorting. If a default sorting has been defined, then the provided sort order will be used to determine the ordering of items that are considered equal by the previously defined default sorting.
This sort order is bound to the component. Thus, any other component using the same
DataProvider
object would not be affected by setting a sort sort through data view of another component. A sorting set by this method won't be retained when a newDataProvider
is set to the component.Refreshes all items of the component after adding the sorting, i.e. runs
DataView.refreshAll()
.Type Parameters:
V1
- the provided value typeParameters:
valueProvider
- the value provider that defines the property do sort by, notnull
sortDirection
- the sort direction to use, notnull
Returns:
ListDataView instance
See Also:
-