Package org.apache.tools.ant.util
Class WorkerAnt
java.lang.Object
java.lang.Thread
org.apache.tools.ant.util.WorkerAnt
- All Implemented Interfaces:
- Runnable
A worker ant executes a single task in a background thread.
 After the run, any exception thrown is turned into a BuildException, which can be
 rethrown, the finished attribute is set, then notifyAll() is called,
 so that anyone waiting on the same notify object gets woken up.
 
 This class is effectively a superset of
 org.apache.tools.ant.taskdefs.Parallel.TaskRunnable
- Since:
- Ant 1.8
- 
Nested Class SummaryNested classes/interfaces inherited from class java.lang.ThreadThread.BuilderPREVIEW, Thread.State, Thread.UncaughtExceptionHandler
- 
Field SummaryFieldsFields inherited from class java.lang.ThreadMAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionGet any build exception.Get whatever was thrown, which may or may not be a buildException.getTask()Get the taskbooleanQuery the task/thread for being finished.voidRaise an exception if one was caughtvoidrun()Run the task, which is skipped if null.voidwaitUntilFinished(long timeout) Block on the notify object and so wait until the thread is finished.Methods inherited from class java.lang.ThreadactiveCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, stop, suspend, threadId, toString, yield
- 
Field Details- 
ERROR_NO_TASKError message if invoked with no task- See Also:
 
 
- 
- 
Constructor Details- 
WorkerAntCreate the worker.This does not start the thread, merely configures it. - Parameters:
- task- the task
- notify- what to notify
 
- 
WorkerAntCreate the worker, using the worker as the notification point.This does not start the thread, merely configures it. - Parameters:
- task- the task
 
 
- 
- 
Method Details- 
getBuildExceptionGet any build exception. This would seem to be oversynchronised, but know that Java pre-1.5 can reorder volatile access. The synchronized attribute is to force an ordering.- Returns:
- the exception or null
 
- 
getExceptionGet whatever was thrown, which may or may not be a buildException. Assertion: getException() instanceof BuildException <=> getBuildException()==getException()- Returns:
- the exception.
 
- 
getTaskGet the task- Returns:
- the task
 
- 
isFinishedpublic boolean isFinished()Query the task/thread for being finished. This would seem to be oversynchronised, but know that Java pre-1.5 can reorder volatile access. The synchronized attribute is to force an ordering.- Returns:
- true if the task is finished.
 
- 
waitUntilFinishedBlock on the notify object and so wait until the thread is finished.- Parameters:
- timeout- timeout in milliseconds
- Throws:
- InterruptedException- if the execution was interrupted
 
- 
rethrowAnyBuildExceptionpublic void rethrowAnyBuildException()Raise an exception if one was caught- Throws:
- BuildException- if one has been picked up
 
- 
runpublic void run()Run the task, which is skipped if null. When invoked again, the task is re-run.
 
-