From c8a00b789671d59589bcb5520c1e9d208bcc27f6 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Mon, 11 Apr 2016 21:54:44 -0400 Subject: Work on restructing data. --- .../java/bjc/utils/data/experimental/Lazy.java | 39 +++++++++++++++------- 1 file changed, 27 insertions(+), 12 deletions(-) (limited to 'BJC-Utils2/src/main/java/bjc/utils/data/experimental/Lazy.java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/experimental/Lazy.java b/BJC-Utils2/src/main/java/bjc/utils/data/experimental/Lazy.java index e919fec..0d6fcef 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/experimental/Lazy.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/experimental/Lazy.java @@ -26,8 +26,7 @@ public class Lazy implements IHolder { private boolean holderBound; - private IFunctionalList> actions = - new FunctionalList<>(); + private IFunctionalList> actions = new FunctionalList<>(); public BoundLazy(Supplier> supp, Function> binder) { @@ -38,8 +37,7 @@ public class Lazy implements IHolder { @Override public IHolder bind( Function> bindr) { - IFunctionalList> pendingActions = - new FunctionalList<>(); + IFunctionalList> pendingActions = new FunctionalList<>(); actions.forEach(pendingActions::add); @@ -62,8 +60,7 @@ public class Lazy implements IHolder { @Override public IHolder map( Function mapper) { - IFunctionalList> pendingActions = - new FunctionalList<>(); + IFunctionalList> pendingActions = new FunctionalList<>(); actions.forEach(pendingActions::add); @@ -101,12 +98,19 @@ public class Lazy implements IHolder { return boundHolder.unwrap(unwrapper); } + @Override + public String toString() { + if (holderBound) { + return boundHolder.toString(); + } + + return "(unmaterialized)"; + } } private Supplier valueSupplier; - private IFunctionalList> actions = - new FunctionalList<>(); + private IFunctionalList> actions = new FunctionalList<>(); private boolean valueMaterialized; @@ -146,8 +150,7 @@ public class Lazy implements IHolder { @Override public IHolder bind( Function> binder) { - IFunctionalList> pendingActions = - new FunctionalList<>(); + IFunctionalList> pendingActions = new FunctionalList<>(); actions.forEach(pendingActions::add); @@ -167,8 +170,7 @@ public class Lazy implements IHolder { @Override public IHolder map( Function mapper) { - IFunctionalList> pendingActions = - new FunctionalList<>(); + IFunctionalList> pendingActions = new FunctionalList<>(); actions.forEach(pendingActions::add); @@ -210,4 +212,17 @@ public class Lazy implements IHolder { return unwrapper.apply(heldValue); } + + @Override + public String toString() { + if (valueMaterialized) { + if (actions.isEmpty()) { + return "value[v='" + heldValue + "']"; + } + + return "value[v='" + heldValue + "'] (has pending transforms)"; + } + + return "(unmaterialized)"; + } } -- cgit v1.2.3