summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-04-11 09:50:01 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-04-11 09:50:01 -0400
commit9fbd262dabfc74bf134855597815642bc4e3665c (patch)
tree91b71228cecd2a6ec76f738806f765dae63f2853 /BJC-Utils2/src/main
parentf9283a20abd9eaed0b0436bc54c60576233121f4 (diff)
Added toStrings for easier debugging
Diffstat (limited to 'BJC-Utils2/src/main')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/data/Pair.java25
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyHolder.java29
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyPair.java6
3 files changed, 55 insertions, 5 deletions
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<L, R> implements IPair<L, R> {
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 <L2, R2> IPair<L2, R2>
- bind(BiFunction<L, R, IPair<L2, R2>> binder) {
+ public <L2, R2> IPair<L2, R2> bind(
+ BiFunction<L, R, IPair<L2, R2>> 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<T> implements IHolder<T>, 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<NewT, T2>
@@ -252,4 +268,17 @@ public class LazyHolder<T> implements IHolder<T>, 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<L, R> implements IPair<L, R>, ILazy {
@Override
public <L2, R2> IPair<L2, R2> bind(
BiFunction<L, R, IPair<L2, R2>> binder) {
- // TODO Auto-generated method stub
IHolder<IPair<L2, R2>> newDelegate = delegatePair
.map((pairVal) -> {
return pairVal.bind(binder);
@@ -182,4 +181,9 @@ public class LazyPair<L, R> implements IPair<L, R>, ILazy {
return new LazyPair<>(newDelegate, isMaterialized(),
hasPendingActions());
}
+
+ @Override
+ public String toString() {
+ return delegatePair.toString();
+ }
} \ No newline at end of file