summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeLeaf.java
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeLeaf.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeLeaf.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeLeaf.java b/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeLeaf.java
index 7e31328..d2f9013 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeLeaf.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeLeaf.java
@@ -55,6 +55,10 @@ public class BinarySearchTreeLeaf<T> implements ITreePart<T> {
@Override
public <E> E collapse(Function<T, E> leafTransformer,
BiFunction<E, E, E> branchCollapser) {
+ if (leafTransformer == null) {
+ throw new NullPointerException("Transformer must not be null");
+ }
+
return leafTransformer.apply(data);
}
@@ -101,6 +105,10 @@ public class BinarySearchTreeLeaf<T> implements ITreePart<T> {
*/
@Override
public boolean directedWalk(DirectedWalkFunction<T> treeWalker) {
+ if (treeWalker == null) {
+ throw new NullPointerException("Tree walker must not be null");
+ }
+
switch (treeWalker.walk(data)) {
case SUCCESS:
return true;
@@ -119,6 +127,10 @@ public class BinarySearchTreeLeaf<T> implements ITreePart<T> {
@Override
public boolean forEach(TreeLinearizationMethod linearizationMethod,
Predicate<T> traversalPredicate) {
+ if (traversalPredicate == null) {
+ throw new NullPointerException("Predicate must not be null");
+ }
+
return traversalPredicate.test(data);
}
}