org.bcos.web3j.crypto.sm2.util.Memoable Maven / Gradle / Ivy
package org.bcos.web3j.crypto.sm2.util;
public interface Memoable {
/**
* 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.
*/
public Memoable copy();
/**
* Restore a copied object state into this object.
*
* Implementations of this method should try to avoid or minimise
* memory allocation to perform the reset.
*
* @param other
* an object originally {@link #copy() copied} from an object of
* the same type as this instance.
* @throws ClassCastException
* if the provided object is not of the correct type.
* @throws MemoableResetException
* if the other parameter is in some other way invalid.
*/
public void reset(Memoable other);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy