@Override public Collection<?> getChildren(Object itemId) { return getTreeTableSource().getChildren(itemId); }
@Override public Collection<?> rootItemIds() { return getTreeTableSource().getRootItemIds(); }
protected Map<Object, Object> getParentsMapping(TreeTableItems<E> tableSource, Object nullParentItemId) { Map<Object, Object> parentsMapping = new LinkedHashMap<>(); Collection<?> itemIds = tableSource.getItemIds(); for (Object itemId : itemIds) { Object parentId = tableSource.getParent(itemId); if (itemIds.contains(parentId)) { parentsMapping.put(itemId, parentId); } else { parentsMapping.put(itemId, nullParentItemId); } } return parentsMapping; }
@Override public boolean areChildrenAllowed(Object itemId) { return getTreeTableSource().hasChildren(itemId); }
@Override public Object getParent(Object itemId) { return getTreeTableSource().getParent(itemId); }
@Override public boolean isRoot(Object itemId) { return getTreeTableSource().isRoot(itemId); }
protected List<Object> getCollapsedItemIds() { TreeTableItems<E> treeTableSource = getTreeTableSource(); if (treeTableSource == null) { return Collections.emptyList(); } Collection<?> itemIds = treeTableSource.getItemIds(); return itemIds.stream() .filter(itemId -> component.isCollapsed(itemId)) .collect(Collectors.toList()); }
@Override public boolean hasChildren(Object itemId) { return getTreeTableSource().hasChildren(itemId); } }
protected int createHierarhicalRow(TreeTable table, List<Table.Column> columns, Boolean exportExpanded, int rowNumber, Object itemId) { TreeTableItems treeTableSource = (TreeTableItems) table.getItems(); createRow(table, columns, 0, ++rowNumber, itemId); if (BooleanUtils.isTrue(exportExpanded) && !table.isExpanded(itemId) && !treeTableSource.getChildren(itemId).isEmpty()) { return rowNumber; } else { Collection children = treeTableSource.getChildren(itemId); if (children != null && !children.isEmpty()) { for (Object id : children) { if (BooleanUtils.isTrue(exportExpanded) && !table.isExpanded(id) && !treeTableSource.getChildren(id).isEmpty()) { createRow(table, columns, 0, ++rowNumber, id); continue; } rowNumber = createHierarhicalRow(table, columns, exportExpanded, rowNumber, id); } } } return rowNumber; }
TreeTable treeTable = (TreeTable) table; TreeTableItems treeTableSource = (TreeTableItems) treeTable.getItems(); for (Object itemId : treeTableSource.getRootItemIds()) { if (checkIsRowNumberExceed(r)) { break;