Destroyable

  • The Destroyable interface provides a mechanism for objects, like credentials, to securely destroy their sensitive content.

  • It includes two methods: destroy() to erase sensitive data and isDestroyed() to check if an object has been destroyed.

  • Calling certain methods on a destroyed object will result in an IllegalStateException.

  • The default implementations of destroy() and isDestroyed() need to be overridden for compatibility with older Android versions.

public interface Destroyable
Known Indirect Subclasses

Objects such as credentials may optionally implement this interface to provide the capability to destroy its contents.

See Also

Public Method Summary

void
destroy()
Destroy this Object.
boolean
isDestroyed()
Determine if this Object has been destroyed.

Public Methods

public void destroy ()

Destroy this Object.

Sensitive information associated with this Object is destroyed or cleared. Subsequent calls to certain methods on this Object will result in an IllegalStateException being thrown.

The default implementation throws DestroyFailedException.

Android note: Up to and including API 25 this method did not have a default implementation. Implementations of this interface must provide a concrete implementation of this method in order to work on older versions of Android.

Throws
DestroyFailedException if the destroy operation fails.

SecurityException if the caller does not have permission to destroy this Object.

public boolean isDestroyed ()

Determine if this Object has been destroyed.

The default implementation returns false.

Android note: Up to and including API 25 this method did not have a default implementation. Implementations of this interface must provide a concrete implementation of this method in order to work on older versions of Android.

Returns
  • true if this Object has been destroyed, false otherwise.