From a599824291cdc573749e58eefdc1869253e3233d Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Mon, 11 Sep 2017 12:35:08 -0300 Subject: Fix misc. compile errors --- .../src/main/java/bjc/utils/funcutils/FuncUtils.java | 1 + .../bjc/utils/ioutils/blocks/BoundBlockReader.java | 19 ++++++++++++++++--- .../bjc/utils/ioutils/blocks/ToggledBlockReader.java | 16 +++++++++++----- .../bjc/utils/parserutils/defines/IteratedDefine.java | 2 ++ 4 files changed, 30 insertions(+), 8 deletions(-) diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcutils/FuncUtils.java b/BJC-Utils2/src/main/java/bjc/utils/funcutils/FuncUtils.java index cd1bcc9..9950add 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/funcutils/FuncUtils.java +++ b/BJC-Utils2/src/main/java/bjc/utils/funcutils/FuncUtils.java @@ -3,6 +3,7 @@ package bjc.utils.funcutils; import java.util.function.BiFunction; import java.util.function.Consumer; import java.util.function.Function; +import java.util.function.UnaryOperator; /** * Utility things for functions diff --git a/BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/BoundBlockReader.java b/BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/BoundBlockReader.java index 3c9a872..b1e82d7 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/BoundBlockReader.java +++ b/BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/BoundBlockReader.java @@ -2,26 +2,34 @@ package bjc.utils.ioutils.blocks; import java.io.IOException; +import java.util.function.BooleanSupplier; import java.util.function.Supplier; public class BoundBlockReader implements BlockReader { + @FunctionalInterface + public interface Closer { + public void close() throws IOException; + } + private BooleanSupplier checker; private Supplier getter; + private Closer closer; private Block current; private int blockNo; - public BoundBlockReader(BooleanSupplier blockChecker, Supplier blockGetter) { + public BoundBlockReader(BooleanSupplier blockChecker, Supplier blockGetter, Closer blockCloser) { checker = blockChecker; getter = blockGetter; + closer = blockCloser; - blockNo += 1; + blockNo = 0; } @Override public boolean hasNextBlock() { - return blockChecker.getAsBoolean(); + return checker.getAsBoolean(); } @Override @@ -45,4 +53,9 @@ public class BoundBlockReader implements BlockReader { public int getBlockCount() { return blockNo; } + + @Override + public void close() throws IOException { + closer.close(); + } } diff --git a/BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/ToggledBlockReader.java b/BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/ToggledBlockReader.java index 07a9a49..8f39b8f 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/ToggledBlockReader.java +++ b/BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/ToggledBlockReader.java @@ -2,7 +2,7 @@ package bjc.utils.ioutils.blocks; import java.io.IOException; -import bjc.utils.date.BooleanToggle; +import bjc.utils.data.BooleanToggle; public class ToggledBlockReader implements BlockReader { private BlockReader leftSource; @@ -26,14 +26,14 @@ public class ToggledBlockReader implements BlockReader { @Override public boolean hasNextBlock() { - if(leftToggle.peek()) return left.hasNextBlock(); - else return right.hasNextBlock(); + if(leftToggle.peek()) return leftSource.hasNextBlock(); + else return rightSource.hasNextBlock(); } @Override public Block getBlock() { - if(leftToggle.peek()) return left.getBlock(); - else return right.getBlock(); + if(leftToggle.peek()) return leftSource.getBlock(); + else return rightSource.getBlock(); } @Override @@ -54,4 +54,10 @@ public class ToggledBlockReader implements BlockReader { public int getBlockCount() { return blockNo; } + + @Override + public void close() throws IOException { + leftSource.close(); + rightSource.close(); + } } diff --git a/BJC-Utils2/src/main/java/bjc/utils/parserutils/defines/IteratedDefine.java b/BJC-Utils2/src/main/java/bjc/utils/parserutils/defines/IteratedDefine.java index 74c4db8..6bc27b8 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/parserutils/defines/IteratedDefine.java +++ b/BJC-Utils2/src/main/java/bjc/utils/parserutils/defines/IteratedDefine.java @@ -1,5 +1,7 @@ package bjc.utils.parserutils.defines; +import java.util.Arrays; +import java.util.Iterator; import java.util.function.UnaryOperator; import java.util.regex.Matcher; import java.util.regex.Pattern; -- cgit v1.2.3