@Override public List<E> getItems(int startIndex, int numberOfItems) { return container.getItems().subList(startIndex, startIndex + numberOfItems); }
@Override public int size() { return container.getItems().size(); }
@Override public Stream<E> getOptions() { return container.getItems().stream(); }
@Override public int size() { return container.getItems().size(); }
@Override public Stream<E> getItems() { return container.getItems().stream(); }
@Nullable @Override public E getItemByIndex(int index) { return container.getItems().get(index); }
@Override public Collection<?> getItemIds() { return container.getItems().stream().map(Entity::getId).collect(Collectors.toList()); }
@Override public Object firstItemId() { List<E> items = container.getItems(); return items.isEmpty() ? null : items.get(0).getId(); }
@Override public boolean hasChildren(E item) { return container.getItems().stream().anyMatch(it -> { E parentItem = it.getValue(hierarchyProperty); return parentItem != null && parentItem.equals(item); }); }
@Override public boolean isLastId(Object itemId) { int index = container.getItemIndex(itemId); return index == container.getItems().size() - 1; }
@Override public boolean hasChildren(E item) { return container.getItems().stream().anyMatch(it -> { E parentItem = it.getValue(hierarchyProperty); return parentItem != null && parentItem.equals(item); }); }
@Override public Object lastItemId() { List<E> items = container.getItems(); return items.isEmpty() ? null : items.get(0).getId(); }
@Override public void sort(Sort sort) { List items = container.getItems(); if (items.isEmpty()) { return; } sortInMemory(sort); }
@Override public boolean containsId(Object itemId) { return container.getItems().stream().anyMatch(e -> e.getId().equals(itemId)); }
@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(); }
protected boolean needExportAll() { if (target.getSelected().isEmpty()) { return true; } CollectionContainer container = ((ContainerDataUnit) target.getItems()).getContainer(); return container != null && container.getItems().size() <= 1; }
@SuppressWarnings("unchecked") protected void sortInMemory(Sort sort) { if (sort.getOrders().isEmpty()) { return; } List list = new ArrayList(container.getItems()); list.sort(createComparator(sort, container.getEntityMetaClass())); setItemsToContainer(list); }
protected boolean isDataAvailable() { if (listComponent.getItems() instanceof ContainerDataUnit) { ContainerDataUnit unit = (ContainerDataUnit) listComponent.getItems(); CollectionContainer container = unit.getContainer(); return container instanceof HasLoader && unit.getState() == BindingState.ACTIVE && !container.getItems().isEmpty(); } else { CollectionDatasource ds = listComponent.getDatasource(); if (ds != null) return ds.getState() == Datasource.State.VALID && ds.size() > 0; } return false; }