|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.lang.Thread org.apache.wiki.WikiBackgroundThread
public abstract class WikiBackgroundThread
Abstract Thread subclass that operates in the background; when it detects the WikiEngineEvent.SHUTDOWN
event,
it terminates itself. Subclasses of this method need only implement the method backgroundTask()
, instead of
the normal Thread.run()
, and provide a constructor that passes the WikiEngine and sleep interval. This
class is thread-safe.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.lang.Thread |
---|
Thread.State, Thread.UncaughtExceptionHandler |
Field Summary |
---|
Fields inherited from class java.lang.Thread |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Constructor Summary | |
---|---|
WikiBackgroundThread(WikiEngine engine,
int sleepInterval)
Constructs a new instance of this background thread with a specified sleep interval, and adds the new instance to the wiki engine's event listeners. |
Method Summary | |
---|---|
void |
actionPerformed(WikiEvent event)
Listens for WikiEngineEvent.SHUTDOWN and, if detected, marks the thread for death. |
abstract void |
backgroundTask()
Abstract method that performs the actual work for this background thread; subclasses must implement this method. |
WikiEngine |
getEngine()
Returns the WikiEngine that created this background thread. |
void |
run()
Runs the background thread's backgroundTask() method at the interval specified at construction. |
void |
shutdown()
Requests the shutdown of this background thread. |
void |
shutdownTask()
Executes a task after shutdown signal was detected. |
void |
startupTask()
Executes a task just after the thread's Thread.run() method starts, but before the
backgroundTask() task executes. |
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, start, stop, stop, suspend, toString, yield |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public WikiBackgroundThread(WikiEngine engine, int sleepInterval)
engine
- the wiki enginesleepInterval
- the interval between invocations of
the thread's Thread.run()
method, in secondsMethod Detail |
---|
public final void actionPerformed(WikiEvent event)
WikiEngineEvent.SHUTDOWN
and, if detected, marks the thread for death.
actionPerformed
in interface WikiEventListener
event
- a WikiEvent objectWikiEventListener.actionPerformed(org.apache.wiki.event.WikiEvent)
public abstract void backgroundTask() throws Exception
Exception
- Any exception can be thrownpublic WikiEngine getEngine()
public void shutdown()
public final void run()
backgroundTask()
method at the interval specified at construction.
The thread will initially pause for a full sleep interval before starting, after which it will execute
startupTask()
. This method will cleanly terminate the thread if it has previously been marked as
dead, before which it will execute shutdownTask()
. If any of the three methods return an exception,
it will be re-thrown as a InternalWikiException
.
run
in interface Runnable
run
in class Thread
Thread.run()
public void shutdownTask() throws Exception
Exception
- Any exception can be thrown.public void startupTask() throws Exception
Thread.run()
method starts, but before the
backgroundTask()
task executes. By default, this method does nothing; override it to implement
custom functionality.
Exception
- Any exception can be thrown.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |