Google

Task (Apache Ant API)

org.apache.tools.ant
Class Task


java.lang.Object

  |

  +--org.apache.tools.ant.ProjectComponent

        |

        +--org.apache.tools.ant.Task

Direct Known Subclasses:
AbstractCvsTask, AbstractMetamataTask, Ant, ANTLR, AntStarTeamCheckOut, AntStructure, Available, Basename, BorlandGenerateClient, BuildNumber, CallTarget, ChangeLogTask, ClearCase, Concat, Continuus, Copy, Copyfile, Coverage, CovMerge, CovReport, CVSPass, CvsTagDiff, Definer, Deltree, Dirname, Echo, EchoProperties, EmailTask, Exec, ExecTask, Exit, Expand, Filter, FTP, GenerateKey, Get, Input, IPlanetEjbcTask, JarLibAvailableTask, JarLibDisplayTask, JarLibManifestTask, JarLibResolveTask, Java, JavaCC, Javadoc, Javah, JDBCTask, JDependTask, JJTree, JUnitTask, KeySubst, LoadFile, LoadProperties, ManifestTask, MatchingTask, Mkdir, MParse, MSVSS, P4Base, Pack, Parallel, Patch, PathConvert, Property, PropertyFile, Pvcs, Recorder, Rename, ReplaceRegExp, Rpm, Script, Sequential, ServerDeploy, SetProxy, SignJar, Sleep, SOS, SoundTask, SplashTask, StarTeamTask, TaskAdapter, TelnetTask, TempFile, Touch, Tstamp, UnknownElement, Unpack, UpToDate, VAJTask, WLRun, WLStop, WsdlToDotnet, XmlProperty, XMLResultAggregator, XMLValidateTask

public abstract class Task
extends ProjectComponent

Base class for all tasks. Use Project.createTask to create a new task instance rather than using this class directly for construction.

See Also:
Project.createTask(java.lang.String)

Field Summary
protected  java.lang.String description
          Description of this task, if any.
protected  Location location
          Location within the build file of this task definition.
protected  Target target
          Target this task belongs to, if any.
protected  java.lang.String taskName
          Name of this task to be used for logging purposes.
protected  java.lang.String taskType
          Type of this task.
protected  RuntimeConfigurable wrapper
          Wrapper for this object, used to configure it at runtime.
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
Task()
          Sole constructor.
 
Method Summary
 void execute()
          Called by the project to let the task do its work.
 java.lang.String getDescription()
          Returns the description of the current action.
 Location getLocation()
          Returns the file/location where this task was defined.
 Target getOwningTarget()
          Returns the container target of this task.
 RuntimeConfigurable getRuntimeConfigurableWrapper()
          Returns the wrapper used for runtime configuration.
 java.lang.String getTaskName()
          Returns the name to use in logging messages.
protected  void handleErrorOutput(java.lang.String line)
          Handles an error line by logging it with the INFO priority.
protected  void handleOutput(java.lang.String line)
          Handles a line of output by logging it with the INFO priority.
 void init()
          Called by the project to let the task initialize properly.
protected  boolean isInvalid()
          Has this task been marked invalid?
 void log(java.lang.String msg)
          Logs a message with the default (INFO) priority.
 void log(java.lang.String msg, int msgLevel)
          Logs a mesage with the given priority.
 void maybeConfigure()
          Configures this task - if it hasn't been done already.
 void perform()
          Performs this task if it's still valid, or gets a replacement version and performs that otherwise.
 void setDescription(java.lang.String desc)
          Sets a description of the current action.
 void setLocation(Location location)
          Sets the file/location where this task was defined.
 void setOwningTarget(Target target)
          Sets the target container of this task.
 void setRuntimeConfigurableWrapper(RuntimeConfigurable wrapper)
          Sets the wrapper to be used for runtime configuration.
 void setTaskName(java.lang.String name)
          Sets the name to use in logging messages.
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject, setProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

target


protected Target target
Target this task belongs to, if any.


description


protected java.lang.String description
Description of this task, if any.


location


protected Location location
Location within the build file of this task definition.


taskName


protected java.lang.String taskName
Name of this task to be used for logging purposes. This defaults to the same as the type, but may be overridden by the user. For instance, the name "java" isn't terribly descriptive for a task used within another task - the outer task code can probably provide a better one.


taskType


protected java.lang.String taskType
Type of this task.


wrapper


protected RuntimeConfigurable wrapper
Wrapper for this object, used to configure it at runtime.

Constructor Detail

Task


public Task()
Sole constructor.

Method Detail

setOwningTarget


public void setOwningTarget(Target target)
Sets the target container of this task.

Parameters:
target - Target in whose scope this task belongs. May be null, indicating a top-level task.

getOwningTarget


public Target getOwningTarget()
Returns the container target of this task.

Returns:
The target containing this task, or null if this task is a top-level task.

setTaskName


public void setTaskName(java.lang.String name)
Sets the name to use in logging messages.

Parameters:
name - The name to use in logging messages. Should not be null.

getTaskName


public java.lang.String getTaskName()
Returns the name to use in logging messages.

Returns:
the name to use in logging messages.

setDescription


public void setDescription(java.lang.String desc)
Sets a description of the current action. This may be used for logging purposes.

Parameters:
desc - Description of the current action. May be null, indicating that no description is available.

getDescription


public java.lang.String getDescription()
Returns the description of the current action.

Returns:
the description of the current action, or null if no description is available.

init


public void init()
          throws BuildException
Called by the project to let the task initialize properly. The default implementation is a no-op.

Throws:
BuildException - if someting goes wrong with the build

execute


public void execute()
             throws BuildException
Called by the project to let the task do its work. This method may be called more than once, if the task is invoked more than once. For example, if target1 and target2 both depend on target3, then running "ant target1 target2" will run all tasks in target3 twice.

Throws:
BuildException - if something goes wrong with the build

getLocation


public Location getLocation()
Returns the file/location where this task was defined.

Returns:
the file/location where this task was defined. Should not return null. Location.UNKNOWN_LOCATION is used for unknown locations.
See Also:
Location.UNKNOWN_LOCATION

setLocation


public void setLocation(Location location)
Sets the file/location where this task was defined.

Parameters:
location - The file/location where this task was defined. Should not be null - use Location.UNKNOWN_LOCATION if the location isn't known.
See Also:
Location.UNKNOWN_LOCATION

getRuntimeConfigurableWrapper


public RuntimeConfigurable getRuntimeConfigurableWrapper()
Returns the wrapper used for runtime configuration.

Returns:
the wrapper used for runtime configuration. This method will generate a new wrapper (and cache it) if one isn't set already.

setRuntimeConfigurableWrapper


public void setRuntimeConfigurableWrapper(RuntimeConfigurable wrapper)
Sets the wrapper to be used for runtime configuration. This method should be used only by the ProjectHelper and ant internals. It is public to allow helper plugins to operate on tasks, normal tasks should never use it.

Parameters:
wrapper - The wrapper to be used for runtime configuration. May be null, in which case the next call to getRuntimeConfigurableWrapper will generate a new wrapper.

maybeConfigure


public void maybeConfigure()
                    throws BuildException
Configures this task - if it hasn't been done already. If the task has been invalidated, it is replaced with an UnknownElement task which uses the new definition in the project.

Throws:
BuildException - if the task cannot be configured.

handleOutput


protected void handleOutput(java.lang.String line)
Handles a line of output by logging it with the INFO priority.

Parameters:
line - The line of output to log. Should not be null.

handleErrorOutput


protected void handleErrorOutput(java.lang.String line)
Handles an error line by logging it with the INFO priority.

Parameters:
line - The error line to log. Should not be null.

log


public void log(java.lang.String msg)
Logs a message with the default (INFO) priority.

Overrides:
log in class ProjectComponent
Parameters:
msg - The message to be logged. Should not be null.

log


public void log(java.lang.String msg,
                int msgLevel)
Logs a mesage with the given priority. This delegates the actual logging to the project.

Overrides:
log in class ProjectComponent
Parameters:
msg - The message to be logged. Should not be null.
msgLevel - The message priority at which this message is to be logged.

perform


public final void perform()
Performs this task if it's still valid, or gets a replacement version and performs that otherwise. Performing a task consists of firing a task started event, configuring the task, executing it, and then firing task finished event. If a runtime exception is thrown, the task finished event is still fired, but with the exception as the cause.


isInvalid


protected final boolean isInvalid()
Has this task been marked invalid?

Since:
Ant 1.5


Copyright 2000-2002 Apache Software Foundation. All Rights Reserved.