From 4c624c06bae3080a5dc8d92a78c75cf1f84a3970 Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Sun, 10 Sep 2017 21:28:40 -0300 Subject: Add more BlockReaders Adds a new type of block reader, the ToggleBlockReader. This switches between two different sources every block. Also, make sure all of the BlockReaders keep their own block count. --- .../main/java/bjc/utils/ioutils/blocks/MappedBlockReader.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/MappedBlockReader.java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/MappedBlockReader.java b/BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/MappedBlockReader.java index a9cfa57..12fa848 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/MappedBlockReader.java +++ b/BJC-Utils2/src/main/java/bjc/utils/ioutils/blocks/MappedBlockReader.java @@ -11,9 +11,13 @@ public class MappedBlockReader implements BlockReader { private UnaryOperator transform; + private int blockNo; + public MappedBlockReader(BlockReader source, UnaryOperator trans) { reader = source; transform = trans; + + blockNo = 0; } @Override @@ -29,7 +33,8 @@ public class MappedBlockReader implements BlockReader { @Override public boolean nextBlock() { if(hasNextBlock()) { - current = transform.apply(reader.next()); + current = transform.apply(reader.next()); + blockNo += 1; return true; } @@ -39,7 +44,7 @@ public class MappedBlockReader implements BlockReader { @Override public int getBlockCount() { - return reader.getBlockCount(); + return blockNo; } @Override -- cgit v1.2.3