summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/ioutils/LayeredBlockReader.java
diff options
context:
space:
mode:
authorbjculkin <bjculkin@mix.wvu.edu>2017-04-06 14:14:37 -0400
committerbjculkin <bjculkin@mix.wvu.edu>2017-04-06 14:14:37 -0400
commit25382427eeafda30aa06a27f37c65fdaf8b67eba (patch)
tree109a2c5c4cd74ce47b961710952a26520bc17f90 /BJC-Utils2/src/main/java/bjc/utils/ioutils/LayeredBlockReader.java
parent622653daa9e991e9608852210034a4e09cb94167 (diff)
Reorganize blocks
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/ioutils/LayeredBlockReader.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/ioutils/LayeredBlockReader.java70
1 files changed, 0 insertions, 70 deletions
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