Interface Container.Indexed
-
- All Superinterfaces:
Container
,Container.Ordered
,Serializable
- All Known Implementing Classes:
AbstractBeanContainer
,AbstractInMemoryContainer
,BeanContainer
,BeanItemContainer
,GeneratedPropertyContainer
,HierarchicalContainer
,IndexedContainer
,SQLContainer
- Enclosing interface:
- Container
public static interface Container.Indexed extends Container.Ordered
Interface for Container classes whoseItem
s can be accessed by their position in the container.If the container is filtered or sorted, all indices refer to the filtered and sorted view. However, the
addItemAt()
methods may add items that will be filtered out after addition or moved to another position based on sorting.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
Container.Indexed.ItemAddEvent
AnEvent
object specifying information about the added items.static interface
Container.Indexed.ItemRemoveEvent
AnEvent
object specifying information about the removed items.-
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 Instance Methods Abstract Methods Modifier and Type Method Description Object
addItemAt(int index)
Adds a new item at given index (in the filtered view).Item
addItemAt(int index, Object newItemId)
Adds a new item at given index (in the filtered view).Object
getIdByIndex(int index)
Get the item id for the item at the position given byindex
.List<?>
getItemIds(int startIndex, int numberOfItems)
GetnumberOfItems
consecutive item ids from the container, starting with the item id atstartIndex
.int
indexOfId(Object itemId)
Gets the index of the Item corresponding to the itemId.-
Methods inherited from interface com.vaadin.data.Container
addContainerProperty, addItem, addItem, containsId, getContainerProperty, getContainerPropertyIds, getItem, getItemIds, getType, removeAllItems, removeContainerProperty, removeItem, size
-
Methods inherited from interface com.vaadin.data.Container.Ordered
addItemAfter, addItemAfter, firstItemId, isFirstId, isLastId, lastItemId, nextItemId, prevItemId
-
-
-
-
Method Detail
-
indexOfId
int indexOfId(Object itemId)
Gets the index of the Item corresponding to the itemId. The following istrue
for the returned index: 0 <= index < size(), or index = -1 if there is no visible item with that id in the container.- Parameters:
itemId
- ID of an Item in the Container- Returns:
- index of the Item, or -1 if (the filtered and sorted view of) the Container does not include the Item
-
getIdByIndex
Object getIdByIndex(int index)
Get the item id for the item at the position given byindex
.- Parameters:
index
- the index of the requested item id- Returns:
- the item id of the item at the given index
- Throws:
IndexOutOfBoundsException
- ifindex
is outside the range of the container. (i.e.index < 0 || container.size()-1 < index
)
-
getItemIds
List<?> getItemIds(int startIndex, int numberOfItems)
GetnumberOfItems
consecutive item ids from the container, starting with the item id atstartIndex
.Implementations should return at most
numberOfItems
item ids, but can contain less if the container has less items than required to fulfill the request. The returned list must hence contain all of the item ids from the range:startIndex
tomax(startIndex + (numberOfItems-1), container.size()-1)
.For quick migration to new API see:
ContainerHelpers.getItemIdsUsingGetIdByIndex(int, int, Indexed)
- Parameters:
startIndex
- the index for the first item which id to includenumberOfItems
- the number of consecutive item ids to get from the given start index, must be >= 0- Returns:
- List containing the requested item ids or empty list if
numberOfItems
== 0; not null - Throws:
IllegalArgumentException
- ifnumberOfItems
is < 0IndexOutOfBoundsException
- ifstartIndex
is outside the range of the container. (i.e.startIndex < 0 || container.size()-1 < startIndex
)- Since:
- 7.0
-
addItemAt
Object addItemAt(int index) throws UnsupportedOperationException
Adds a new item at given index (in the filtered view).The indices of the item currently in the given position and all the following items are incremented.
This method should apply filters to the added item after inserting it, possibly hiding it immediately. If the container is being sorted, the item may be added at the correct sorted position instead of the given position. See
Container.Indexed
,Container.Ordered
,Container.Filterable
andContainer.Sortable
for more information.- Parameters:
index
- Index (in the filtered and sorted view) to add the new item.- Returns:
- item id of the created item or null if the operation fails.
- Throws:
UnsupportedOperationException
- if the operation is not supported by the container
-
addItemAt
Item addItemAt(int index, Object newItemId) throws UnsupportedOperationException
Adds a new item at given index (in the filtered view).The indexes of the item currently in the given position and all the following items are incremented.
This method should apply filters to the added item after inserting it, possibly hiding it immediately. If the container is being sorted, the item may be added at the correct sorted position instead of the given position. See
Container.Indexed
,Container.Filterable
andContainer.Sortable
for more information.- Parameters:
index
- Index (in the filtered and sorted view) at which to add the new item.newItemId
- Id of the new item to be added.- Returns:
- new
Item
or null if the operation fails. - Throws:
UnsupportedOperationException
- if the operation is not supported by the container
-
-