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 theIOExceptions thrown byread()would have to be wrapped inRuntimeExceptions, and the compiler would be unable to force users of this code to catch such exceptions.- Implementing
Iterablewould 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 voidclose()Closes theObjectStreamand releases all allocated resources.read()Returns the nextObjectStreamobject.default voidreset()Repositions the stream at the beginning and the previously seen object sequence will be repeated exactly.
-
Method Details
-
read
Returns the nextObjectStreamobject. Calling this method repeatedly until it returnsnullwill return each object from the underlying source exactly once.- Returns:
- The next object or
nullto 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 theObjectStreamand releases all allocated resources. After close was called, it's not allowed to callread()orreset().- Specified by:
closein interfaceAutoCloseable- Throws:
IOException- Thrown if there is an error during closing the stream.
-