Package opennlp.tools.util
Interface ObjectStream<T>
-
- All Superinterfaces:
AutoCloseable
- All Known Subinterfaces:
SequenceStream<S>
- All Known Implementing Classes:
AbstractEventStream
,AbstractObjectStream
,AbstractParserEventStream
,AbstractToSentenceSampleStream
,ADChunkSampleStream
,ADNameSampleStream
,ADPOSSampleStream
,ADSentenceSampleStream
,ADSentenceStream
,BioNLP2004NameSampleStream
,BratAnnotationStream
,BratDocumentStream
,BratNameSampleStream
,ChunkerEventStream
,ChunkSampleSequenceStream
,ChunkSampleStream
,ChunkSampleStream
,CollectionObjectStream
,Conll02NameSampleStream
,Conll03NameSampleStream
,ConlluLemmaSampleStream
,ConlluPOSSampleStream
,ConlluSentenceSampleStream
,ConlluStream
,ConlluTokenSampleStream
,ConllXPOSSampleStream
,ConstitParseSampleStream
,CrossValidationPartitioner.TrainingSampleStream
,DetokenizeSentenceSampleStream
,DirectorySampleStream
,DocumentCategorizerEventStream
,DocumentSampleStream
,DocumentToLineStream
,EmptyLinePreprocessorStream
,EvalitaNameSampleStream
,EventTraceStream
,FileEventStream
,FileToByteArraySampleStream
,FileToStringSampleStream
,FilterObjectStream
,HashSumEventStream
,LanguageDetectorEventStream
,LanguageDetectorSampleStream
,LeipzigLanguageSampleStream
,LemmaSampleEventStream
,LemmaSampleSequenceStream
,LemmaSampleStream
,MascDocumentStream
,MascNamedEntitySampleStream
,MascPOSSampleStream
,MascSentenceSampleStream
,MascTokenSampleStream
,MosesSentenceSampleStream
,MucNameSampleStream
,NameFinderCensus90NameStream
,NameFinderEventStream
,NameSampleCountersStream
,NameSampleDataStream
,NameSampleSequenceStream
,NameSampleTypeFilter
,NameToSentenceSampleStream
,NameToTokenSampleStream
,NKJPSentenceSampleStream
,OntoNotesNameSampleStream
,OntoNotesParseSampleStream
,ParagraphStream
,ParserEventStream
,ParserEventStream
,ParseSampleStream
,ParseToPOSSampleStream
,PlainTextByLineStream
,POSSampleEventStream
,POSSampleSequenceStream
,PosSampleStream
,POSToSentenceSampleStream
,POSToTokenSampleStream
,RealBasicEventStream
,RealValueFileEventStream
,SDEventStream
,SegmenterObjectStream
,SentenceSampleStream
,SequenceStreamEventStream
,TokenizerStream
,TokenSampleStream
,TokSpanEventStream
,TwentyNewsgroupSampleStream
,WhitespaceTokenStream
,WordTagSampleStream
public interface ObjectStream<T> extends AutoCloseable
Readsobjects
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 nextObjectStream
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 IOException
Returns the nextObjectStream
object. Calling this method repeatedly until it returnsnull
will return each object from the underlying source exactly once.- Returns:
- The next object or
null
to signal that the stream is exhausted. - Throws:
IOException
- Thrown if there is an error during reading.
-
reset
default void reset() throws IOException
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:
IOException
- Thrown if there is an error during resetting the stream.UnsupportedOperationException
- Thrown if thereset()
is not supported. By default, this is the case.
-
close
default void close() throws IOException
Closes theObjectStream
and releases all allocated resources. After close was called, it's not allowed to callread()
orreset()
.- Specified by:
close
in interfaceAutoCloseable
- Throws:
IOException
- Thrown if there is an error during closing the stream.
-
-