com.vaadin.data.
Interface Container.Indexed
-
All Superinterfaces:
All Known Implementing Classes:
AbstractBeanContainer
,AbstractInMemoryContainer
,BeanContainer
,BeanItemContainer
,GeneratedPropertyContainer
,HierarchicalContainer
,IndexedContainer
,SQLContainer
Enclosing interface:
public static interface Container.Indexed extends Container.Ordered
Interface for Container classes whose
Item
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
An
Event
object specifying information about the added items.static interface
Container.Indexed.ItemRemoveEvent
An
Event
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 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 by
index
.List<?>
getItemIds(int startIndex, int numberOfItems)
Get
numberOfItems
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 is
true
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 ContainerReturns:
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 by
index
.Parameters:
index
- the index of the requested item idReturns:
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)
Get
numberOfItems
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 >= 0Returns:
List containing the requested item ids or empty list if
numberOfItems
== 0; not nullThrows:
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
-
-