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

    All Methods Instance Methods Concrete Methods
    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 Detail

    - #### HashSumEventStream

          public HashSumEventStream​(ObjectStream<Event> eventStream)

  - ### Method Detail

    - #### 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`.