diff options
Diffstat (limited to 'base/src/main/java/bjc/utils/ioutils/blocks')
| -rw-r--r-- | base/src/main/java/bjc/utils/ioutils/blocks/BoundBlockReader.java | 42 | ||||
| -rw-r--r-- | base/src/main/java/bjc/utils/ioutils/blocks/FilteredBlockReader.java | 14 |
2 files changed, 42 insertions, 14 deletions
diff --git a/base/src/main/java/bjc/utils/ioutils/blocks/BoundBlockReader.java b/base/src/main/java/bjc/utils/ioutils/blocks/BoundBlockReader.java index b1e82d7..36e0ac1 100644 --- a/base/src/main/java/bjc/utils/ioutils/blocks/BoundBlockReader.java +++ b/base/src/main/java/bjc/utils/ioutils/blocks/BoundBlockReader.java @@ -5,24 +5,52 @@ import java.io.IOException; import java.util.function.BooleanSupplier; import java.util.function.Supplier; +/** + * A block reader composed from functions. + * + * @author EVE + * + */ public class BoundBlockReader implements BlockReader { + /** + * A function that serves to close an I/O source. + * + * @author EVE + * + */ @FunctionalInterface public interface Closer { + /** + * Close the I/O source this is attached to. + * + * @throws IOException + * If something goes wrong + */ public void close() throws IOException; } - private BooleanSupplier checker; - private Supplier<Block> getter; - private Closer closer; + private BooleanSupplier checker; + private Supplier<Block> getter; + private Closer closer; private Block current; private int blockNo; + /** + * Create a new bound block reader. + * + * @param blockChecker + * Predicate for checking if a block is available + * @param blockGetter + * Function to retrieve a block + * @param blockCloser + * Function to close a block source + */ public BoundBlockReader(BooleanSupplier blockChecker, Supplier<Block> blockGetter, Closer blockCloser) { checker = blockChecker; - getter = blockGetter; - closer = blockCloser; + getter = blockGetter; + closer = blockCloser; blockNo = 0; } @@ -40,11 +68,11 @@ public class BoundBlockReader implements BlockReader { @Override public boolean nextBlock() { if(checker.getAsBoolean()) { - current = getter.get(); + current = getter.get(); blockNo += 1; return true; - } + } return false; } diff --git a/base/src/main/java/bjc/utils/ioutils/blocks/FilteredBlockReader.java b/base/src/main/java/bjc/utils/ioutils/blocks/FilteredBlockReader.java index 0b43f7a..c575f05 100644 --- a/base/src/main/java/bjc/utils/ioutils/blocks/FilteredBlockReader.java +++ b/base/src/main/java/bjc/utils/ioutils/blocks/FilteredBlockReader.java @@ -16,8 +16,8 @@ public class FilteredBlockReader implements BlockReader { * * Both have already been checked for the predicate. */ - private Block current; - private Block pending; + private Block current; + private Block pending; /* * Number of blocks that passed the predicate. @@ -39,8 +39,8 @@ public class FilteredBlockReader implements BlockReader { } public FilteredBlockReader(BlockReader src, Predicate<Block> predic, Consumer<Block> failAct) { - source = src; - pred = predic; + source = src; + pred = predic; failAction = failAct; blockNo = 0; @@ -60,11 +60,11 @@ public class FilteredBlockReader implements BlockReader { if(pred.test(pending)) { blockNo += 1; return true; - } else { - failAction.accept(pending); } + + failAction.accept(pending); } - + return false; } |
