net.sf.jbaobab.expirable
Class Expirer<E>
java.lang.Object
java.lang.Thread
net.sf.jbaobab.expirable.Expirer<E>
- All Implemented Interfaces:
- Runnable
- Direct Known Subclasses:
- ReclaimableExpirer
public class Expirer<E>
- extends Thread
A reaper class designed for decorators in net.sf.jbaobab.expirable
package. Once an object is registered to Expirer, expiration can't
be cancelled. If you want operations like cancel or reclaim, see (@link
ReclaimableExpirer}.
Please regard the code below:
Expirer<String> expirer = new Expirer<String>(new ExpirationHandler<String>() {
public void expired(String element) {
System.out.println("{" + element + "} expired");
}
});
expirer.register("I have 5 seconds left", 5000);
- Author:
- Oakyoon Cha
- See Also:
ExpirationHandler
|
Nested Class Summary |
static class |
Expirer.Expirable<E>
A wrapper class for object that has creation/expiration time. |
| Methods inherited from class java.lang.Thread |
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, stop, suspend, toString, yield |
handler
protected ExpirationHandler<E> handler
queue
protected Queue<Expirer.Expirable<E>> queue
working
protected boolean working
Expirer
public Expirer(ExpirationHandler<E> handler)
Expirer
public Expirer()
start
public void start()
- Overrides:
start in class Thread
shutdown
public void shutdown()
setHandler
public ExpirationHandler<E> setHandler(ExpirationHandler<E> handler)
getHandler
public ExpirationHandler<E> getHandler()
register
public Expirer.Expirable<E> register(E element,
long timeout)
expire
protected void expire(E element)
run
public void run()
- Specified by:
run in interface Runnable- Overrides:
run in class Thread