AI-generated Key Takeaways
-
The
Destroyableinterface provides a mechanism for objects, like credentials, to securely destroy their sensitive content. -
It includes two methods:
destroy()to erase sensitive data andisDestroyed()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()andisDestroyed()need to be overridden for compatibility with older Android versions.
| 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
Objecthas been destroyed, false otherwise.