summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/data/Tree.java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2020-11-11 12:23:54 -0400
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2020-11-11 12:23:54 -0400
commitd3239ea7b6945d449c0361416ab54fec6f9643e6 (patch)
tree4d85a297a42a355b4dc3f01c677aa02b0d94807b /src/main/java/bjc/data/Tree.java
parent3460b2c0c571a61068f664adc5a1b97f6a24cdcc (diff)
Update?
Diffstat (limited to 'src/main/java/bjc/data/Tree.java')
-rw-r--r--src/main/java/bjc/data/Tree.java13
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);