Mercurial > dive4elements > river
diff gwt-client/src/main/java/org/dive4elements/river/client/shared/model/DataCageTree.java @ 9520:b188255f08b3
Allow to filter datacage entries by module-roles of current user.
Hide Sinfo, Uinfo and Minfo branches if user does not have those modules.
author | gernotbelger |
---|---|
date | Mon, 01 Oct 2018 16:21:20 +0200 |
parents | 4b29bb2c785f |
children |
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/DataCageTree.java Mon Oct 01 16:21:16 2018 +0200 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/DataCageTree.java Mon Oct 01 16:21:20 2018 +0200 @@ -9,53 +9,29 @@ package org.dive4elements.river.client.shared.model; import java.io.Serializable; -import java.util.List; -public class DataCageTree implements Serializable -{ +public class DataCageTree implements Serializable { + + private static final long serialVersionUID = 1L; public interface Visitor { boolean accept(DataCageNode node); - } // interface + } - protected DataCageNode root; + private DataCageNode root; public DataCageTree() { } - public DataCageTree(DataCageNode root) { + public DataCageTree(final DataCageNode root) { this.root = root; } - public void setRoot(DataCageNode root) { + public void setRoot(final DataCageNode root) { this.root = root; } public DataCageNode getRoot() { - return root; + return this.root; } - - - protected boolean recursivePrune(DataCageNode node, Visitor visitor) { - if (!node.hasChildren()) { - return visitor.accept(node); - } - - List<DataCageNode> children = node.getChildren(); - - for (int i = children.size()-1; i >= 0; --i) { - if (!recursivePrune(children.get(i), visitor)) { - children.remove(i); - } - } - - return !children.isEmpty(); - } - - public boolean prune(Visitor visitor) { - return root == null || !root.hasChildren() - ? true - : recursivePrune(root, visitor); - } -} -// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : +} \ No newline at end of file