Interface Container.Indexed

    • 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 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 by index.

        Parameters:
        index - the index of the requested item id
        Returns:
        the item id of the item at the given index
        Throws:
        IndexOutOfBoundsException - if index 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 at startIndex.

        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 to max(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 include
        numberOfItems - 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 - if numberOfItems is < 0
        IndexOutOfBoundsException - if startIndex 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 and Container.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 and Container.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