Package opennlp.tools.util
Interface ObjectStream<T>
-
- All Superinterfaces:
java.lang.AutoCloseable
- All Known Subinterfaces:
SequenceStream
- All Known Implementing Classes:
AbstractEventStream
,AbstractObjectStream
,ChunkerEventStream
,ChunkSampleSequenceStream
,ChunkSampleStream
,CollectionObjectStream
,CrossValidationPartitioner.TrainingSampleStream
,EventTraceStream
,FileEventStream
,FilterObjectStream
,HashSumEventStream
,NameFinderEventStream
,NameSampleDataStream
,NameSampleSequenceStream
,NameSampleTypeFilter
,ParagraphStream
,PlainTextByLineStream
,POSSampleEventStream
,POSSampleSequenceStream
,RealBasicEventStream
,RealValueFileEventStream
,SequenceStreamEventStream
,TokenizerStream
,TokenSampleStream
,TokSpanEventStream
,WhitespaceTokenStream
,WordTagSampleStream
public interface ObjectStream<T> extends java.lang.AutoCloseable
ReadsObject
s from a stream.Design Decision:
This interface provides a means for iterating over the objects in a stream, it does not implementIterator
orIterable
because:Iterator.next()
andIterator.hasNext()
are declared as throwing no checked exceptions. Thus theIOException
s thrown byread()
would have to be wrapped inRuntimeException
s, and the compiler would be unable to force users of this code to catch such exceptions.- Implementing
Iterable
would mean either silently callingreset()
to guarantee that all items were always seen on each iteration, or documenting that the Iterable only iterates over the remaining elements of the ObjectStream. In either case, users not reading the documentation carefully might run into unexpected behavior.
- See Also:
ObjectStreamException
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
close()
Closes theObjectStream
and releases all allocated resources.T
read()
Returns the next object.default void
reset()
Repositions the stream at the beginning and the previously seen object sequence will be repeated exactly.
-
-
-
Method Detail
-
read
T read() throws java.io.IOException
Returns the next object. Calling this method repeatedly until it returns null will return each object from the underlying source exactly once.- Returns:
- the next object or null to signal that the stream is exhausted
- Throws:
java.io.IOException
- if there is an error during reading
-
reset
default void reset() throws java.io.IOException, java.lang.UnsupportedOperationException
Repositions the stream at the beginning and the previously seen object sequence will be repeated exactly. This method can be used to re-read the stream if multiple passes over the objects are required. The implementation of this method is optional.- Throws:
java.io.IOException
- if there is an error during reseting the streamjava.lang.UnsupportedOperationException
-
close
default void close() throws java.io.IOException
Closes theObjectStream
and releases all allocated resources. After close was called its not allowed to call read or reset.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Throws:
java.io.IOException
- if there is an error during closing the stream
-
-