@Override public boolean isFirstId(Object itemId) { int index = container.getItemIndex(itemId); return index == 0; }
@Override public boolean isLastId(Object itemId) { int index = container.getItemIndex(itemId); return index == container.getItems().size() - 1; }
@Override public int indexOfItem(E item) { return container.getItemIndex(item.getId()); }
@Override public Object nextItemId(Object itemId) { List<E> items = container.getItems(); int index = container.getItemIndex(itemId); return index == items.size() - 1 ? null : items.get(index + 1).getId(); }
@Override public Object prevItemId(Object itemId) { int index = container.getItemIndex(itemId); return index <= 0 ? null : container.getItems().get(index - 1).getId(); }