From bada13a2ccedd860dfd7a45683e8e8f4ba8a038d Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Sun, 17 Apr 2016 20:51:38 -0400 Subject: Added new tree traversal option, and some minor changes --- .../main/java/bjc/utils/data/BoundLazyPair.java | 21 ++++++++++++----- .../src/main/java/bjc/utils/data/LazyPair.java | 27 ++++++++++++++++++++-- BJC-Utils2/src/main/java/bjc/utils/data/Pair.java | 10 ++++++-- 3 files changed, 48 insertions(+), 10 deletions(-) (limited to 'BJC-Utils2/src/main/java/bjc/utils/data') diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/BoundLazyPair.java b/BJC-Utils2/src/main/java/bjc/utils/data/BoundLazyPair.java index 41ab99b..40c502c 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/BoundLazyPair.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/BoundLazyPair.java @@ -60,8 +60,8 @@ class BoundLazyPair @Override public IPair bind( BiFunction> bindr) { - IHolder> newPair = new Identity<>( - boundPair); + IHolder> newPair = + new Identity<>(boundPair); IHolder newPairMade = new Identity<>(pairBound); Supplier leftSupp = () -> { @@ -90,15 +90,24 @@ class BoundLazyPair } @Override - public MergedType merge( - BiFunction merger) { + public MergedType + merge(BiFunction merger) { if (!pairBound) { - boundPair = binder.apply(leftSupplier.get(), - rightSupplier.get()); + boundPair = + binder.apply(leftSupplier.get(), rightSupplier.get()); pairBound = true; } return boundPair.merge(merger); } + + @Override + public String toString() { + if (pairBound) { + return boundPair.toString(); + } + + return "(un-materialized)"; + } } \ No newline at end of file diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/LazyPair.java b/BJC-Utils2/src/main/java/bjc/utils/data/LazyPair.java index fd432c1..7ae5e96 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/LazyPair.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/LazyPair.java @@ -93,8 +93,8 @@ public class LazyPair } @Override - public MergedType merge( - BiFunction merger) { + public MergedType + merge(BiFunction merger) { if (!leftMaterialized) { leftValue = leftSupplier.get(); @@ -131,4 +131,27 @@ public class LazyPair return rightValue; } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("pair[l="); + + if (leftMaterialized) { + sb.append(leftValue.toString()); + } else { + sb.append("(un-materialized)"); + } + + sb.append(", r="); + + if (rightMaterialized) { + sb.append(rightValue.toString()); + } else { + sb.append("(un-materialized)"); + } + + sb.append("]"); + + return sb.toString(); + } } diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/Pair.java b/BJC-Utils2/src/main/java/bjc/utils/data/Pair.java index 958df40..94affd0 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/Pair.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/Pair.java @@ -56,8 +56,14 @@ public class Pair } @Override - public MergedType merge( - BiFunction merger) { + public MergedType + merge(BiFunction merger) { return merger.apply(leftValue, rightValue); } + + @Override + public String toString() { + return "pair[l=" + leftValue.toString() + ", r=" + + rightValue.toString() + "]"; + } } \ No newline at end of file -- cgit v1.2.3