com.vaadin.data.
Interface Container.Filterable
-
All Superinterfaces:
All Known Implementing Classes:
AbstractBeanContainer, BeanContainer, BeanItemContainer, GeneratedPropertyContainer, HierarchicalContainer, IndexedContainer, SQLContainer
Enclosing interface:
public static interface Container.Filterable extends Container, Serializable
Interface that is implemented by containers which allow reducing their visible contents based on a set of filters.
When a set of filters are set, only items that match all the filters are included in the visible contents of the container. Still new items that do not match filters can be added to the container. Multiple filters can be added and the container remembers the state of the filters. When multiple filters are added, all filters must match for an item to be visible in the container.
When an
Container.Ordered
orContainer.Indexed
container is filtered, all operations of these interfaces should only use the filtered and sorted contents and the filtered indices to the container. Indices or item identifiers in the public API refer to the visible view unless otherwise stated. However, theaddItem*()
methods may add items that will be filtered out after addition or moved to another position based on sorting.How filtering is performed when a
Container.Hierarchical
container implementsContainer.Filterable
is implementation specific and should be documented in the implementing class.Adding items (if supported) to a filtered
Container.Ordered
orContainer.Indexed
container should insert them immediately after the indicated visible item. However, the unfiltered position of items added at index 0, at indexContainer.size()
or at an undefined position is up to the implementation.This API replaces the old Filterable interface, renamed to
Container.SimpleFilterable
in Vaadin 6.6.Since:
6.6
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.vaadin.data.Container
Container.Editor, Container.Filter, Container.Filterable, Container.Hierarchical, Container.Indexed, Container.ItemSetChangeEvent, Container.ItemSetChangeListener, Container.ItemSetChangeNotifier, Container.Ordered, Container.PropertySetChangeEvent, Container.PropertySetChangeListener, Container.PropertySetChangeNotifier, Container.SimpleFilterable, Container.Sortable, Container.Viewer
-
-
Method Summary
All Methods Modifier and Type Method and Description void
addContainerFilter(Container.Filter filter)
Adds a filter for the container.
Collection<Container.Filter>
getContainerFilters()
Returns the filters which have been applied to the container
void
removeAllContainerFilters()
Remove all active filters from the container.
void
removeContainerFilter(Container.Filter filter)
Removes a filter from the container.
-
Methods inherited from interface com.vaadin.data.Container
addContainerProperty, addItem, addItem, containsId, getContainerProperty, getContainerPropertyIds, getItem, getItemIds, getType, removeAllItems, removeContainerProperty, removeItem, size
-
-
-
-
Method Detail
-
addContainerFilter
void addContainerFilter(Container.Filter filter) throws UnsupportedFilterException
Adds a filter for the container.
If a container has multiple filters, only items accepted by all filters are visible.
Throws:
UnsupportedFilterException
- if the filter is not supported by the container
-
removeContainerFilter
void removeContainerFilter(Container.Filter filter)
Removes a filter from the container.
This requires that the equals() method considers the filters as equivalent (same instance or properly implemented equals() method).
-
removeAllContainerFilters
void removeAllContainerFilters()
Remove all active filters from the container.
-
getContainerFilters
Collection<Container.Filter> getContainerFilters()
Returns the filters which have been applied to the container
Returns:
A collection of filters which have been applied to the container. An empty collection if no filters have been applied.
Since:
7.1
-
-