@SuppressWarnings("unchecked") @Override public Collection<?> getChildren(Object itemId) { return getTreeDatasource().getChildren((K) itemId); }
@Override public Stream<E> getChildren(E item) { Collection<K> itemIds = item == null ? datasource.getRootItemIds() : datasource.getChildren(item.getId()); return itemIds.stream() .map(id -> datasource.getItem(id)); }
@Override public Stream<E> getChildren(E item) { Collection<K> itemIds = item == null ? getHierarchicalDatasource().getRootItemIds() : getHierarchicalDatasource().getChildren(item.getId()); return itemIds.stream() .map(id -> datasource.getItem(id)); }
@Override protected boolean isApplicable() { Stencil selected = (Stencil) target.getSingleSelected(); boolean isGroupAndHasChildren = (selected instanceof GroupStencil) && !stencilsDs.getChildren(selected.getId()).isEmpty(); return super.isApplicable() && selected.getEditable() && !isGroupAndHasChildren; } };
@Override protected boolean isApplicable() { if (target != null && target.getDatasource() != null && target.getSingleSelected() != null) { @SuppressWarnings("unchecked") HierarchicalDatasource<Group, UUID> ds = (HierarchicalDatasource<Group, UUID>) target.getDatasource(); UUID selectedItemId = (UUID) target.getSingleSelected().getId(); return ds.getChildren(selectedItemId).isEmpty(); } return false; } });
protected void excludeItem(Group group, boolean excludeChildren) { if (excludeChildren) { for (UUID childId : groupsDs.getChildren(group.getId())) { excludeItem(groupsDs.getItem(childId), true); } } groupsDs.excludeItem(group); } }