Package opennlp.tools.util

# Class AbstractObjectStream<T>

java.lang.Object
opennlp.tools.util.AbstractObjectStream<T>

Type Parameters:
  `T` - The generic type representing samples in the stream of samples.

All Implemented Interfaces:
  `AutoCloseable`, `ObjectStream<T>`

public abstract class AbstractObjectStream<T> extends Object implements ObjectStream<T>
A base `ObjectStream` implementation.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Closes the `ObjectStream` and releases all allocated resources.
  `T`
  `read()`
  Returns the next `ObjectStream` object.
  `void`
  `reset()`
  Repositions the stream at the beginning and the previously seen object sequence will be repeated exactly.

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### read

    public T read() throws IOException
    Description copied from interface: `ObjectStream`
    Returns the next `ObjectStream` object. Calling this method repeatedly until it returns `null` will return each object from the underlying source exactly once.
    Specified by:
      `read` in interface `ObjectStream<T>`
    Returns:
      The next object or `null` to signal that the stream is exhausted.
    Throws:
      `IOException` - Thrown if there is an error during reading.

  - ### reset

    public void reset() throws IOException, UnsupportedOperationException
    Description copied from interface: `ObjectStream`
    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.

    Specified by:
      `reset` in interface `ObjectStream<T>`
    Throws:
      `IOException` - Thrown if there is an error during resetting the stream.
      `UnsupportedOperationException` - Thrown if the `reset()` is not supported. By default, this is the case.

  - ### close

    public void close() throws IOException
    Description copied from interface: `ObjectStream`
    Closes the `ObjectStream` and releases all allocated resources. After close was called, it's not allowed to call `ObjectStream.read()` or `ObjectStream.reset()`.
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `ObjectStream<T>`
    Throws:
      `IOException` - Thrown if there is an error during closing the stream.