public IndexedContainer(Collection<?> itemIds) { this(); if (items != null) { for (final Iterator<?> i = itemIds.iterator(); i.hasNext();) { Object itemId = i.next(); internalAddItemAtEnd(itemId, new IndexedContainerItem(itemId), false); } filterAll(); } }
@Override protected Item getUnfilteredItem(Object itemId) { if (itemId != null && items.containsKey(itemId)) { return new IndexedContainerItem(itemId); } return null; }
@Override public Item addItem(Object itemId) { Item item = internalAddItemAtEnd(itemId, new IndexedContainerItem(itemId), false); if (item == null) { return null; } else if (!isFiltered()) { // always the last item fireItemAdded(size() - 1, itemId, item); } else if (passesFilters(itemId) && !containsId(itemId)) { getFilteredItemIds().add(itemId); // always the last item fireItemAdded(size() - 1, itemId, item); } return item; }
@Override public Item addItemAfter(Object previousItemId, Object newItemId) { return internalAddItemAfter(previousItemId, newItemId, new IndexedContainerItem(newItemId), true); }
@Override public Item addItemAt(int index, Object newItemId) { return internalAddItemAt(index, newItemId, new IndexedContainerItem(newItemId), true); }