diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2017-09-11 12:35:08 -0300 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2017-09-11 12:35:08 -0300 |
| commit | a599824291cdc573749e58eefdc1869253e3233d (patch) | |
| tree | 2ca6562ed9c689686f7ec53711c519645d57ecfe /BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/BoundBlockReader.java | |
| parent | 00804ba2bafba780c2f7e74b3e21ed14468ae7e6 (diff) | |
Fix misc. compile errors
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/BoundBlockReader.java')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/BoundBlockReader.java | 19 |
1 files changed, 16 insertions, 3 deletions
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<Block> getter; + private Closer closer; private Block current; private int blockNo; - public BoundBlockReader(BooleanSupplier blockChecker, Supplier<Block> blockGetter) { + public BoundBlockReader(BooleanSupplier blockChecker, Supplier<Block> 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(); + } } |
