Interface Memoable

All Known Subinterfaces:
SavableDigest
All Known Implementing Classes:
Blake3Digest, DSTU7564Digest, GeneralDigest, GOST3411_2012_256Digest, GOST3411_2012_512Digest, GOST3411_2012Digest, GOST3411Digest, LongDigest, MD2Digest, MD4Digest, MD5Digest, RIPEMD128Digest, RIPEMD160Digest, RIPEMD256Digest, RIPEMD320Digest, SHA1Digest, SHA224Digest, SHA256Digest, SHA384Digest, SHA512Digest, SHA512tDigest, SkeinDigest, SkeinEngine, SM3Digest, TigerDigest, WhirlpoolDigest, Zuc128CoreEngine, Zuc128Engine, Zuc256CoreEngine, Zuc256Engine

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

    Modifier and Type
    Method
    Description
    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 Details

    • 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.
      MemoableResetException - if the other parameter is in some other way invalid.