diff options
| author | bjculkin <bjculkin@mix.wvu.edu> | 2018-02-12 22:44:26 -0500 |
|---|---|---|
| committer | bjculkin <bjculkin@mix.wvu.edu> | 2018-02-12 22:44:26 -0500 |
| commit | ae51c587c53f7ca311e556e3cbd0c5566d6c2843 (patch) | |
| tree | a6bbb0baaa20300ad9949425455ea890c021d046 /base/src/main/java/bjc/utils/ioutils/blocks | |
| parent | 32f5da54c628408c96db09d279f3a7ef44b3bd19 (diff) | |
Update
Diffstat (limited to 'base/src/main/java/bjc/utils/ioutils/blocks')
4 files changed, 66 insertions, 19 deletions
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 c575f05..070713d 100644 --- a/base/src/main/java/bjc/utils/ioutils/blocks/FilteredBlockReader.java +++ b/base/src/main/java/bjc/utils/ioutils/blocks/FilteredBlockReader.java @@ -5,6 +5,12 @@ import java.io.IOException; import java.util.function.Consumer; import java.util.function.Predicate; +/** + * A block reader that only yields blocks that pass a predicate. + * + * @author EVE + * + */ public class FilteredBlockReader implements BlockReader { /* * The source of blocks. @@ -34,10 +40,29 @@ public class FilteredBlockReader implements BlockReader { */ private Consumer<Block> failAction; + /** + * Create a new filtered block reader with a given filter. + * + * @param src + * The place to read blocks from. + * @param predic + * The predicate to use to pass blocks. + */ public FilteredBlockReader(BlockReader src, Predicate<Block> predic) { this(src, predic, null); } + /** + * Create a new filtered block reader with a given filter that executes + * a specific action when a block fails. + * + * @param src + * The place to read blocks from. + * @param predic + * The predicate to use to pass blocks. + * @param failAct + * The action to take when a block fails. + */ public FilteredBlockReader(BlockReader src, Predicate<Block> predic, Consumer<Block> failAct) { source = src; pred = predic; diff --git a/base/src/main/java/bjc/utils/ioutils/blocks/FlatMappedBlockReader.java b/base/src/main/java/bjc/utils/ioutils/blocks/FlatMappedBlockReader.java index 16d2e44..bab463e 100644 --- a/base/src/main/java/bjc/utils/ioutils/blocks/FlatMappedBlockReader.java +++ b/base/src/main/java/bjc/utils/ioutils/blocks/FlatMappedBlockReader.java @@ -22,8 +22,8 @@ public class FlatMappedBlockReader implements BlockReader { /* * The current block, and any blocks pending from the last source block. */ - private Iterator<Block> pending; - private Block current; + private Iterator<Block> pending; + private Block current; /* * The operator to open blocks with. @@ -35,8 +35,16 @@ public class FlatMappedBlockReader implements BlockReader { */ private int blockNo; + /** + * Create a new flat-mapping block reader. + * + * @param source + * The source to read blocks from + * @param trans + * The transform to use. + */ public FlatMappedBlockReader(BlockReader source, Function<Block, List<Block>> trans) { - reader = source; + reader = source; transform = trans; blockNo = 0; @@ -52,7 +60,7 @@ public class FlatMappedBlockReader implements BlockReader { return current; } - @Override + @Override public boolean nextBlock() { /* * Attempt to get a new pending list if the one we have isn't @@ -67,7 +75,7 @@ public class FlatMappedBlockReader implements BlockReader { /* * Advance the iterator. */ - current = pending.next(); + current = pending.next(); blockNo += 1; return true; diff --git a/base/src/main/java/bjc/utils/ioutils/blocks/MappedBlockReader.java b/base/src/main/java/bjc/utils/ioutils/blocks/MappedBlockReader.java index 12fa848..72da16d 100644 --- a/base/src/main/java/bjc/utils/ioutils/blocks/MappedBlockReader.java +++ b/base/src/main/java/bjc/utils/ioutils/blocks/MappedBlockReader.java @@ -4,6 +4,12 @@ import java.io.IOException; import java.util.function.UnaryOperator; +/** + * A block reader that applies a transform to each block. + * + * @author EVE + * + */ public class MappedBlockReader implements BlockReader { private BlockReader reader; @@ -13,8 +19,16 @@ public class MappedBlockReader implements BlockReader { private int blockNo; + /** + * Create a new mapped block reader. + * + * @param source + * The source for blocks + * @param trans + * The transform to apply. + */ public MappedBlockReader(BlockReader source, UnaryOperator<Block> trans) { - reader = source; + reader = source; transform = trans; blockNo = 0; @@ -30,10 +44,10 @@ public class MappedBlockReader implements BlockReader { return current; } - @Override + @Override public boolean nextBlock() { if(hasNextBlock()) { - current = transform.apply(reader.next()); + current = transform.apply(reader.next()); blockNo += 1; return true; diff --git a/base/src/main/java/bjc/utils/ioutils/blocks/PushbackBlockReader.java b/base/src/main/java/bjc/utils/ioutils/blocks/PushbackBlockReader.java index 0cc9dea..924df39 100644 --- a/base/src/main/java/bjc/utils/ioutils/blocks/PushbackBlockReader.java +++ b/base/src/main/java/bjc/utils/ioutils/blocks/PushbackBlockReader.java @@ -27,7 +27,7 @@ public class PushbackBlockReader implements BlockReader { * Create a new pushback block reader. * * @param src - * The block reader to use when no blocks are queued. + * The block reader to use when no blocks are queued. */ public PushbackBlockReader(final BlockReader src) { source = src; @@ -50,22 +50,22 @@ public class PushbackBlockReader implements BlockReader { /* * Drain pushed-back blocks first. */ - if (!waiting.isEmpty()) { + if(!waiting.isEmpty()) { curBlock = waiting.pop(); blockNo += 1; return true; - } else { - final boolean succ = source.nextBlock(); - curBlock = source.getBlock(); + } - if (succ) { - blockNo += 1; - } + final boolean succ = source.nextBlock(); + curBlock = source.getBlock(); - return succ; + if(succ) { + blockNo += 1; } + + return succ; } @Override @@ -82,7 +82,7 @@ public class PushbackBlockReader implements BlockReader { * Insert a block at the back of the queue of pending blocks. * * @param blk - * The block to put at the back. + * The block to put at the back. */ public void addBlock(final Block blk) { waiting.add(blk); @@ -92,7 +92,7 @@ public class PushbackBlockReader implements BlockReader { * Insert a block at the front of the queue of pending blocks. * * @param blk - * The block to put at the front. + * The block to put at the front. */ public void pushBlock(final Block blk) { waiting.push(blk); |
