From 25382427eeafda30aa06a27f37c65fdaf8b67eba Mon Sep 17 00:00:00 2001 From: bjculkin Date: Thu, 6 Apr 2017 14:14:37 -0400 Subject: Reorganize blocks --- .../java/bjc/utils/ioutils/LayeredBlockReader.java | 70 ---------------------- 1 file changed, 70 deletions(-) delete mode 100644 BJC-Utils2/src/main/java/bjc/utils/ioutils/LayeredBlockReader.java (limited to 'BJC-Utils2/src/main/java/bjc/utils/ioutils/LayeredBlockReader.java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/ioutils/LayeredBlockReader.java b/BJC-Utils2/src/main/java/bjc/utils/ioutils/LayeredBlockReader.java deleted file mode 100644 index ed7a1b9..0000000 --- a/BJC-Utils2/src/main/java/bjc/utils/ioutils/LayeredBlockReader.java +++ /dev/null @@ -1,70 +0,0 @@ -package bjc.utils.ioutils; - -import java.io.IOException; - -/** - * A block reader that supports draining all the blocks from one reading before - * swapping to another. - * - * This is more a 'prioritize blocks from one over the other', than a 'read all - * the blocks from one, then all the blocks from the other'. If you need that, - * look at {@link SerialBlockReader}. - * - * @author bjculkin - * - */ -public class LayeredBlockReader implements BlockReader { - private BlockReader first; - private BlockReader second; - - private int blockNo; - - /** - * Create a new layered block reader. - * - * @param primary - * The first source to read blocks from. - * - * @param secondary - * The second source to read blocks from. - */ - public LayeredBlockReader(BlockReader primary, BlockReader secondary) { - first = primary; - second = secondary; - } - - @Override - public boolean hasNextBlock() { - return first.hasNextBlock() || second.hasNextBlock(); - } - - @Override - public Block getBlock() { - Block firstBlock = first.getBlock(); - - return firstBlock == null ? second.getBlock() : firstBlock; - } - - @Override - public boolean nextBlock() { - boolean gotFirst = first.nextBlock(); - - boolean succ = gotFirst ? gotFirst : second.nextBlock(); - - if (succ) blockNo += 1; - - return succ; - } - - @Override - public int getBlockCount() { - return blockNo; - } - - @Override - public void close() throws IOException { - second.close(); - - first.close(); - } -} \ No newline at end of file -- cgit v1.2.3