From 504ca816530efdff06bc202e0432ebd354aec304 Mon Sep 17 00:00:00 2001 From: EVE Date: Tue, 14 Mar 2017 12:07:14 -0400 Subject: Cleanup --- .../bjc/utils/data/TopDownTransformIterator.java | 87 +++++++++++----------- 1 file changed, 43 insertions(+), 44 deletions(-) (limited to 'BJC-Utils2/src/main/java/bjc/utils/data/TopDownTransformIterator.java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/TopDownTransformIterator.java b/BJC-Utils2/src/main/java/bjc/utils/data/TopDownTransformIterator.java index 8a24512..2463df9 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/TopDownTransformIterator.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/TopDownTransformIterator.java @@ -8,25 +8,25 @@ import java.util.function.BiFunction; import java.util.function.Consumer; import java.util.function.Function; -import static bjc.utils.data.TopDownTransformResult.*; +import static bjc.utils.data.TopDownTransformResult.RTRANSFORM; public class TopDownTransformIterator implements Iterator> { - private Function picker; - private BiFunction, Consumer>>, ITree> transform; + private Function picker; + private BiFunction, Consumer>>, ITree> transform; - private ITree preParent; - private ITree postParent; + private ITree preParent; + private ITree postParent; - private Deque> preChildren; - private Deque> postChildren; + private Deque> preChildren; + private Deque> postChildren; private TopDownTransformIterator curChild; - private boolean done; - private boolean initial; + private boolean done; + private boolean initial; - private Deque>> toYield; - private Iterator> curYield; + private Deque>> toYield; + private Iterator> curYield; public TopDownTransformIterator(Function pickr, BiFunction, Consumer>>, ITree> transfrm, @@ -45,69 +45,67 @@ public class TopDownTransformIterator implements Iterator> src) { - if (curYield != null) { + if(curYield != null) { toYield.push(curYield); } curYield = src; } + @Override public boolean hasNext() { return !done; } public ITree flushYields(ITree val) { - if (curYield != null) { + if(curYield != null) { toYield.add(new SingleIterator<>(val)); - if (curYield.hasNext()) { + if(curYield.hasNext()) return curYield.next(); - } else { - while (toYield.size() != 0 && !curYield.hasNext()) { + else { + while(toYield.size() != 0 && !curYield.hasNext()) { curYield = toYield.pop(); } - if (toYield.size() == 0 && !curYield.hasNext()) { + if(toYield.size() == 0 && !curYield.hasNext()) { curYield = null; return val; - } else { + } else return curYield.next(); - } } - } else { + } else return val; - } } + @Override public ITree next() { - if (done) - throw new NoSuchElementException(); + if(done) throw new NoSuchElementException(); - if (curYield != null) { - if (curYield.hasNext()) { + if(curYield != null) { + if(curYield.hasNext()) return curYield.next(); - } else { - while (toYield.size() != 0 && !curYield.hasNext()) { + else { + while(toYield.size() != 0 && !curYield.hasNext()) { curYield = toYield.pop(); } - if (toYield.size() == 0 && !curYield.hasNext()) { + if(toYield.size() == 0 && !curYield.hasNext()) { curYield = null; - } else { + } else return curYield.next(); - } } } - if (initial) { + if(initial) { TopDownTransformResult res = picker.apply(preParent.getHead()); - switch (res) { + switch(res) { case PASSTHROUGH: postParent = new Tree<>(preParent.getHead()); - if (preParent.getChildrenCount() != 0) { - for (int i = 0; i < preParent.getChildrenCount(); i++) { + if(preParent.getChildrenCount() != 0) { + for(int i = 0; i < preParent.getChildrenCount(); i++) { preChildren.add(preParent.getChild(i)); } @@ -127,8 +125,8 @@ public class TopDownTransformIterator implements Iterator implements Iterator(intRes.getHead()); - if (intRes.getChildrenCount() != 0) { - for (int i = 0; i < intRes.getChildrenCount(); i++) { + if(intRes.getChildrenCount() != 0) { + for(int i = 0; i < intRes.getChildrenCount(); i++) { preChildren.add(intRes.getChild(i)); } @@ -159,12 +157,13 @@ public class TopDownTransformIterator implements Iterator(picker, transform, preChildren.pop()); ITree res = curChild.next(); @@ -175,12 +174,12 @@ public class TopDownTransformIterator implements Iterator res = null; - if (postParent == null) { + if(postParent == null) { res = new Tree<>(preParent.getHead()); System.out.println("\t\tTRACE: adding nodes " + postChildren + " to " + res); - for (ITree child : postChildren) { + for(ITree child : postChildren) { res.addChild(child); } @@ -190,7 +189,7 @@ public class TopDownTransformIterator implements Iterator child : postChildren) { + for(ITree child : postChildren) { res.addChild(child); } } -- cgit v1.2.3