diff options
| author | bjculkin <bjculkin@mix.wvu.edu> | 2017-04-06 14:14:37 -0400 |
|---|---|---|
| committer | bjculkin <bjculkin@mix.wvu.edu> | 2017-04-06 14:14:37 -0400 |
| commit | 25382427eeafda30aa06a27f37c65fdaf8b67eba (patch) | |
| tree | 109a2c5c4cd74ce47b961710952a26520bc17f90 /BJC-Utils2/src/main/java/bjc/utils/ioutils/LayeredBlockReader.java | |
| parent | 622653daa9e991e9608852210034a4e09cb94167 (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.java | 70 |
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 |
