gnu.crypto.util
Class ExpirableObject
- Destroyable
public abstract class ExpirableObject
implements Destroyable
The base class for objects with sensitive data that are automatically
destroyed after a timeout elapses. On creation, an object that extends
this class will automatically be added to a
Timer
object that,
once a timeout elapses, will automatically call the
Destroyable.destroy()
method.
Concrete subclasses must implement the
doDestroy()
method
instead of
Destroyable.destroy()
; the behavior of that method
should match exactly the behavior desired of
destroy()
.
Note that if a
DestroyFailedException
occurs when the timeout
expires, it will not be reported.
static long | DEFAULT_TIMEOUT - The default timeout, used in the default constructor.
|
ExpirableObject() - Create a new expirable object that will expire after one hour.
|
ExpirableObject(long delay) - Create a new expirable object that will expire after the specified
timeout.
|
void | destroy() - Destroys this object.
|
protected abstract void | doDestroy() - Subclasses must implement this method instead of the
Destroyable.destroy() method.
|
DEFAULT_TIMEOUT
public static final long DEFAULT_TIMEOUT
The default timeout, used in the default constructor.
ExpirableObject
protected ExpirableObject()
Create a new expirable object that will expire after one hour.
ExpirableObject
protected ExpirableObject(long delay)
Create a new expirable object that will expire after the specified
timeout.
delay
- The delay before expiration.
destroy
public final void destroy()
throws DestroyFailedException
Destroys this object. This method calls doDestroy
, then, if
no exception is thrown, cancels the task that would destroy this object
when the timeout is reached.
doDestroy
protected abstract void doDestroy()
throws DestroyFailedException
Subclasses must implement this method instead of the Destroyable.destroy()
method.
Copyright © 2001, 2002, 2003
Free Software Foundation,
Inc. All Rights Reserved.