- java.lang.Object
-
- org.ojalgo.netio.QueuedReader<T>
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.lang.Iterable<T>,FromFileReader<T>
final class QueuedReader<T> extends java.lang.Object implements FromFileReader<T>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classQueuedReader.Worker<T>-
Nested classes/interfaces inherited from interface org.ojalgo.netio.FromFileReader
FromFileReader.Builder<F>
-
-
Constructor Summary
Constructors Constructor Description QueuedReader(java.util.concurrent.ExecutorService executor, java.util.concurrent.BlockingQueue<T> queue, FromFileReader<T>... readers)Multiple suppliers supply to a queue, then you get from that queue.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()intdrainTo(java.util.Collection<? super T> container, int maxElements)Behaves similar toBlockingQueue.drainTo(Collection, int)except that returning 0 means there are no more items to read.private booleanisDone()Tread()Returning null indicates that there are no more items to read.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ojalgo.netio.FromFileReader
forEachInBacthes, iterator, map, stream
-
-
-
-
Field Detail
-
myFutures
private final java.util.concurrent.Future<?>[] myFutures
-
myQueue
private final java.util.concurrent.BlockingQueue<T> myQueue
-
myReaders
private final FromFileReader<T>[] myReaders
-
-
Constructor Detail
-
QueuedReader
QueuedReader(java.util.concurrent.ExecutorService executor, java.util.concurrent.BlockingQueue<T> queue, FromFileReader<T>... readers)Multiple suppliers supply to a queue, then you get from that queue. There will be 1 thread (executor task) per supplier.
-
-
Method Detail
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceFromFileReader<T>- Throws:
java.io.IOException
-
drainTo
public int drainTo(java.util.Collection<? super T> container, int maxElements)
Description copied from interface:FromFileReaderBehaves similar toBlockingQueue.drainTo(Collection, int)except that returning 0 means there are no more items to read.- Specified by:
drainToin interfaceFromFileReader<T>
-
read
public T read()
Description copied from interface:FromFileReaderReturning null indicates that there are no more items to read. That's the same behaviour asBufferedReader.readLine(). All implementations must return null precisely once.- Specified by:
readin interfaceFromFileReader<T>
-
isDone
private boolean isDone()
-
-