Bouncy Castle Cryptography Library 1.77.0

org.bouncycastle.util
Interface Memoable

All Known Subinterfaces:
SavableDigest
All Known Implementing Classes:
Blake3Digest, DSTU7564Digest, GeneralDigest, GOST3411_2012Digest, GOST3411Digest, LongDigest, MD2Digest, SkeinDigest, SkeinEngine, TigerDigest, WhirlpoolDigest, Zuc128CoreEngine

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
 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

public 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

public 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:
java.lang.ClassCastException - if the provided object is not of the correct type.
MemoableResetException - if the other parameter is in some other way invalid.

Bouncy Castle Cryptography Library 1.77.0