org.apache.tools.ant.taskdefsClass WaitFor
- java.lang.Object
- org.apache.tools.ant.ProjectComponent
- org.apache.tools.ant.taskdefs.condition.ConditionBase
- org.apache.tools.ant.taskdefs.WaitFor
- All Implemented Interfaces:
- java.lang.Cloneable
- Direct Known Subclasses:
- BlockFor
public class WaitFor extends ConditionBaseWait for an external event to occur. Wait for an external process to start or to complete some task. This is useful with theparalleltask to synchronize the execution of tests with server startup. The following attributes can be specified on a waitfor task:The maxwaitunit and checkeveryunit are allowed to have the following values: millisecond, second, minute, hour, day and week. The default is millisecond. For programmatic use/subclassing, there are two methods that may be overridden,
- maxwait - maximum length of time to wait before giving up
- maxwaitunit - The unit to be used to interpret maxwait attribute
- checkevery - amount of time to sleep between each check
- checkeveryunit - The unit to be used to interpret checkevery attribute
- timeoutproperty - name of a property to set if maxwait has been exceeded.
processSuccessandprocessTimeout
- Since:
- Ant 1.5
Nested Class Summary
Nested Classes Modifier and Type Class and Description static classWaitFor.UnitThe enumeration of units: millisecond, second, minute, hour, day, week
Field Summary
Fields Modifier and Type Field and Description static longDEFAULT_CHECK_MILLISdefault check timestatic longDEFAULT_MAX_WAIT_MILLISdefault wait timestatic longONE_DAYa day in millisecondsstatic longONE_HOURan hour in millisecondsstatic longONE_MILLISECONDa millisecondstatic longONE_MINUTEa minute in millisecondsstatic longONE_SECONDa second in millisecondsstatic longONE_WEEKa week in milliseconds
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
Constructor Summary
Constructors Constructor and Description WaitFor()Constructor, names this task "waitfor".WaitFor(java.lang.String taskName)Constructor that takes the name of the task in the task name.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description longcalculateCheckEveryMillis()Get the check wait time, in milliseconds.longcalculateMaxWaitMillis()Get the maximum wait time, in milliseconds.voidexecute()Check repeatedly for the specified conditions until they become true or the timeout expires.protected voidprocessSuccess()Actions to be taken on a successful waitfor.protected voidprocessTimeout()Actions to be taken on an unsuccessful wait.voidsetCheckEvery(long time)Set the time between each checkvoidsetCheckEveryUnit(WaitFor.Unit unit)Set the check every time unitvoidsetMaxWait(long time)Set the maximum length of time to wait.voidsetMaxWaitUnit(WaitFor.Unit unit)Set the max wait time unitvoidsetTimeoutProperty(java.lang.String p)Name the property to set after a timeout.
Methods inherited from class org.apache.tools.ant.taskdefs.condition.ConditionBase
add, addAnd, addAvailable, addChecksum, addContains, addEquals, addFilesMatch, addHttp, addIsFalse, addIsFileSelected, addIsReference, addIsSet, addIsTrue, addNot, addOr, addOs, addSocket, addUptodate, countConditions, getConditions, getTaskName, setTaskName
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
Field Detail
ONE_MILLISECOND
public static final long ONE_MILLISECONDa millisecond
- See Also:
- Constant Field Values
ONE_SECOND
public static final long ONE_SECONDa second in milliseconds
- See Also:
- Constant Field Values
ONE_MINUTE
public static final long ONE_MINUTEa minute in milliseconds
- See Also:
- Constant Field Values
ONE_HOUR
public static final long ONE_HOURan hour in milliseconds
- See Also:
- Constant Field Values
ONE_DAY
public static final long ONE_DAYa day in milliseconds
- See Also:
- Constant Field Values
ONE_WEEK
public static final long ONE_WEEKa week in milliseconds
- See Also:
- Constant Field Values
DEFAULT_MAX_WAIT_MILLIS
public static final long DEFAULT_MAX_WAIT_MILLISdefault wait time
- See Also:
- Constant Field Values
DEFAULT_CHECK_MILLIS
public static final long DEFAULT_CHECK_MILLISdefault check time
- See Also:
- Constant Field Values
Constructor Detail
WaitFor
public WaitFor()Constructor, names this task "waitfor".
WaitFor
public WaitFor(java.lang.String taskName)Constructor that takes the name of the task in the task name.
- Parameters:
taskName- the name of the task.- Since:
- Ant 1.8
Method Detail
setMaxWait
public void setMaxWait(long time)Set the maximum length of time to wait.
- Parameters:
time- alongvalue
setMaxWaitUnit
public void setMaxWaitUnit(WaitFor.Unit unit)Set the max wait time unit
- Parameters:
unit- an enumeratedUnitvalue
setCheckEvery
public void setCheckEvery(long time)Set the time between each check
- Parameters:
time- alongvalue
setCheckEveryUnit
public void setCheckEveryUnit(WaitFor.Unit unit)Set the check every time unit
- Parameters:
unit- an enumeratedUnitvalue
setTimeoutProperty
public void setTimeoutProperty(java.lang.String p)Name the property to set after a timeout.
- Parameters:
p- the property name
execute
public void execute() throws BuildExceptionCheck repeatedly for the specified conditions until they become true or the timeout expires.
- Throws:
BuildException- on error
calculateCheckEveryMillis
public long calculateCheckEveryMillis()Get the check wait time, in milliseconds.
- Returns:
- how long to wait between checks
- Since:
- Ant 1.8
calculateMaxWaitMillis
public long calculateMaxWaitMillis()Get the maximum wait time, in milliseconds.
- Returns:
- how long to wait before timing out
- Since:
- Ant 1.8
processSuccess
protected void processSuccess()Actions to be taken on a successful waitfor. This is an override point. The base implementation does nothing.
- Since:
- Ant1.7
processTimeout
protected void processTimeout()Actions to be taken on an unsuccessful wait. This is an override point. It is where the timeout processing takes place. The base implementation sets the timeoutproperty if there was a timeout and the property was defined.
- Since:
- Ant1.7