Package opennlp.tools.ml.model

# Class HashSumEventStream

java.lang.Object
opennlp.tools.util.AbstractObjectStream<Event>
opennlp.tools.ml.model.HashSumEventStream

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

public class HashSumEventStream extends AbstractObjectStream<Event>
A hash sum based `AbstractObjectStream` implementation.

See Also:
  - `Event`
  - `MessageDigest`
  - `AbstractObjectStream`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HashSumEventStream(ObjectStream<Event> eventStream)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `BigInteger`
  `calculateHashSum()`
  Calculates the hash sum of the stream and wraps it into a `BigInteger`.
  `Event`
  `read()`
  Returns the next `ObjectStream` object.

  ### Methods inherited from class opennlp.tools.util.AbstractObjectStream

  `close, reset`

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

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

- ## Constructor Details

  - ### HashSumEventStream

    public HashSumEventStream(ObjectStream<Event> eventStream)

- ## Method Details

  - ### read

    public Event 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<Event>`
    Overrides:
      `read` in class `AbstractObjectStream<Event>`
    Returns:
      The next object or `null` to signal that the stream is exhausted.
    Throws:
      `IOException` - Thrown if there is an error during reading.

  - ### calculateHashSum

    public BigInteger calculateHashSum()
    Calculates the hash sum of the stream and wraps it into a `BigInteger`. Note: The method must be called after the stream is completely consumed.
    Returns:
      The calculated hash sum as `BigInteger`.
    Throws:
      `IllegalStateException` - Thrown if the stream is not consumed completely, completely means that hasNext() returns `false`.