org.bouncycastle.util

## Interface Memoable

- All Known Implementing Classes:
    LongDigest, SHA512Digest

      public interface Memoable

  Interface for Memoable objects. Memoable objects allow the taking of a snapshot of their internal state via the copy() method and then resetting the object back to that state later using the reset() method.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Memoable` | `copy()` Produce a copy of this object with its configuration and in its current state.
    `void` | `reset(Memoable other)` Restore a copied object state into this object.

- - ### Method Detail

    - #### copy

          Memoable copy()

      Produce a copy of this object with its configuration and in its current state.

      The returned object may be used simply to store the state, or may be used as a similar object starting from the copied state.

    - #### reset

          void reset(Memoable other)

      Restore a copied object state into this object.

      Implementations of this method should try to avoid or minimise memory allocation to perform the reset.

      Parameters:
        `other` - an object originally `copied` from an object of the same type as this instance.
      Throws:
        `ClassCastException` - if the provided object is not of the correct type.