diff options
Diffstat (limited to 'src/main/java/bjc/data')
| -rw-r--r-- | src/main/java/bjc/data/Tree.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main/java/bjc/data/Tree.java b/src/main/java/bjc/data/Tree.java index 9a4caa6..5337af5 100644 --- a/src/main/java/bjc/data/Tree.java +++ b/src/main/java/bjc/data/Tree.java @@ -227,9 +227,6 @@ public class Tree<ContainedType> implements ITree<ContainedType> { /* * Do a collapse of this tree. - * - * @NOTE Why is this protected? I can't see any good reason someone'd want to - * override it. */ private <NewType> NewType internalCollapse( @@ -381,6 +378,16 @@ public class Tree<ContainedType> implements ITree<ContainedType> { } @Override + public ITree<ContainedType> getChild(final int childNo) { + if (childNo < 0 || childNo > childCount - 1) { + final String msg = String.format("Child index #%d is invalid", childNo); + + throw new IllegalArgumentException(msg); + } + return children.getByIndex(childNo); + } + + @Override public <TransformedType> TransformedType transformHead(final Function<ContainedType, TransformedType> transformer) { return transformer.apply(data); |
