From 9fbd262dabfc74bf134855597815642bc4e3665c Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Mon, 11 Apr 2016 09:50:01 -0400 Subject: Added toStrings for easier debugging --- BJC-Utils2/src/main/java/bjc/utils/data/Pair.java | 25 ++++++++++++++++--- .../main/java/bjc/utils/data/lazy/LazyHolder.java | 29 ++++++++++++++++++++++ .../main/java/bjc/utils/data/lazy/LazyPair.java | 6 ++++- 3 files changed, 55 insertions(+), 5 deletions(-) (limited to 'BJC-Utils2/src/main/java') 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 d0397f7..03f2eed 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/Pair.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/Pair.java @@ -92,15 +92,32 @@ public class Pair implements IPair { return merger.apply(leftValue, rightValue); } - + @Override public String toString() { - return "pair[l=" + leftValue.toString() + ", r=" + rightValue.toString() + "]"; + String leftValueString; + + if (leftValue != null) { + leftValueString = leftValue.toString(); + } else { + leftValueString = "(null)"; + } + + String rightValueString; + + if (rightValue != null) { + rightValueString = rightValue.toString(); + } else { + rightValueString = "(null)"; + } + + return "pair[l=" + leftValueString + ", r=" + rightValueString + + "]"; } @Override - public IPair - bind(BiFunction> binder) { + public IPair bind( + BiFunction> binder) { return binder.apply(leftValue, rightValue); } } diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyHolder.java b/BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyHolder.java index 9f9dc4a..85b7493 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyHolder.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyHolder.java @@ -79,6 +79,22 @@ public class LazyHolder implements IHolder, ILazy { }); } + @Override + public String toString() { + if (holderSource == null) { + if (holder == null) { + return "(null)"; + } + + return holder.toString(); + } + + if (holder == null) { + return "(unmaterialized values)"; + } + + return holder.toString(); + } } private static final class LazyHolderSupplier @@ -252,4 +268,17 @@ public class LazyHolder implements IHolder, ILazy { return binder.apply(unwrap((val) -> val)); }); } + + @Override + public String toString() { + if (isMaterialized()) { + if (hasPendingActions()) { + return heldValue.toString() + " (has pending actions)"; + } + + return heldValue.toString(); + } + + return "(unmaterialized value)"; + } } \ No newline at end of file diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyPair.java b/BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyPair.java index 7ba7ee7..70f5478 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyPair.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyPair.java @@ -173,7 +173,6 @@ public class LazyPair implements IPair, ILazy { @Override public IPair bind( BiFunction> binder) { - // TODO Auto-generated method stub IHolder> newDelegate = delegatePair .map((pairVal) -> { return pairVal.bind(binder); @@ -182,4 +181,9 @@ public class LazyPair implements IPair, ILazy { return new LazyPair<>(newDelegate, isMaterialized(), hasPendingActions()); } + + @Override + public String toString() { + return delegatePair.toString(); + } } \ No newline at end of file -- cgit v1.2.3