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
Reads
objects
from a stream.
Design Decision:
This interface provides a means for iterating over the
objects in a stream, it does not implement Iterator
or
Iterable
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:
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
close()
Closes theObjectStream
and releases all allocated resources.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 Details
-
read
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
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
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.
-