summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyHolder.java
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyHolder.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyHolder.java29
1 files changed, 29 insertions, 0 deletions
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