You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.5 KiB

/*
* Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package javax.security.auth;
/**
* Objects such as credentials may optionally implement this interface
* to provide the capability to destroy its contents.
*
* @see javax.security.auth.Subject
*/
public interface Destroyable {
/**
* Destroy this {@code Object}.
*
* <p> Sensitive information associated with this {@code Object}
* is destroyed or cleared. Subsequent calls to certain methods
* on this {@code Object} will result in an
* {@code IllegalStateException} being thrown.
*
* <p>
* The default implementation throws {@code DestroyFailedException}.
*
* @exception DestroyFailedException if the destroy operation fails. <p>
*
* @exception SecurityException if the caller does not have permission
* to destroy this {@code Object}.
*/
public default void destroy() throws DestroyFailedException {
throw new DestroyFailedException();
}
/**
* Determine if this {@code Object} has been destroyed.
*
* <p>
* The default implementation returns false.
*
* @return true if this {@code Object} has been destroyed,
* false otherwise.
*/
public default boolean isDestroyed() {
return false;
}
}