diff options
Diffstat (limited to 'BJC-Utils2/src/main/java')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/data/ITree.java | 11 | ||||
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/data/Tree.java | 13 |
2 files changed, 22 insertions, 2 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/ITree.java b/BJC-Utils2/src/main/java/bjc/utils/data/ITree.java index 9132278..30d5558 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/ITree.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/ITree.java @@ -18,14 +18,21 @@ import java.util.function.UnaryOperator; */ public interface ITree<ContainedType> { /** - * Add a child to this node + * Append a child to this node. * * @param child - * The child to add to this node + * The child to append to this node. */ public void addChild(ITree<ContainedType> child); /** + * Prepend a child to this node. + * + * @param child The child to prepend to this node. + */ + void prependChild(ITree<ContainedType> child); + + /** * Collapse a tree into a single version * * @param <NewType> diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/Tree.java b/BJC-Utils2/src/main/java/bjc/utils/data/Tree.java index 34e074b..cf4d1fb 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/Tree.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/Tree.java @@ -349,4 +349,17 @@ public class Tree<ContainedType> implements ITree<ContainedType> { return -1; } + + @Override + public void prependChild(ITree<ContainedType> child) { + if(hasChildren == false) { + hasChildren = true; + + children = new FunctionalList<>(); + } + + childCount++; + + children.prepend(child); + } } |
