org.apache.tools.ant

Class Task

Known Direct Subclasses:
AbstractCvsTask, AbstractMetamataTask, Ant, Antlib, AntlibDefinition, AntStarTeamCheckOut, AntStructure, ANTLR, Available, Basename, BorlandGenerateClient, BuildNumber, CallTarget, ClearCase, Concat, Continuus, Copy, Copyfile, CovBase, CVSPass, DefaultExcludes, Deltree, Dirname, Echo, EchoProperties, EmailTask, Exec, ExecTask, Exit, Expand, Filter, FTP, GenerateKey, Get, Gjdoc, Ildasm, ImportTask, ImportTypelib, Input, IPlanetEjbcTask, JarLibAvailableTask, JarLibDisplayTask, JarLibManifestTask, JarLibResolveTask, Java, JavaCC, Javadoc, Javah, JDBCTask, JDependTask, JJDoc, JJTree, JUnitTask, KeySubst, Length, LoadFile, LoadProperties, MacroInstance, ManifestTask, MatchingTask, Mkdir, MSVSS, Nice, P4Base, Pack, Parallel, Patch, PathConvert, Property, PropertyFile, Pvcs, Recorder, Rename, ReplaceRegExp, RExecTask, Rpm, Script, ScriptDefBase, Sequential, ServerDeploy, SetProxy, SignJar, Sleep, SoundTask, SOS, SplashTask, SSHBase, StarTeamTask, SubAnt, Symlink, Sync, TaskAdapter, TelnetTask, TempFile, Touch, Tstamp, UnknownElement, Unpack, UpToDate, VAJTask, WhichResource, 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(String)

Field Summary

protected String
description
Deprecated. You should not be accessing this variable directly.
protected Location
location
Deprecated. You should not be accessing this variable directly.
protected Target
target
Deprecated. You should not be accessing this variable directly.
protected String
taskName
Deprecated. You should not be accessing this variable directly.
protected String
taskType
Deprecated. You should not be accessing this variable directly.
protected RuntimeConfigurable
wrapper
Deprecated. You should not be accessing this variable directly.

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.
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.
String
getTaskName()
Returns the name to use in logging messages.
String
getTaskType()
Return the type of task
protected RuntimeConfigurable
getWrapper()
Return the runtime configurable structure for this task
protected void
handleErrorFlush(String output)
Handles an error line by logging it with the WARN priority.
protected void
handleErrorOutput(String output)
Handles an error output by logging it with the WARN priority.
protected void
handleFlush(String output)
Handles output by logging it with the INFO priority.
protected int
handleInput(byte[] buffer, int offset, int length)
Handle an input request by this task
protected void
handleOutput(String output)
Handles 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(String msg)
Logs a message with the default (INFO) priority.
void
log(String msg, int msgLevel)
Logs a message 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
reconfigure()
Force the task to be reconfigured from it's RuntimeConfigurable
void
setDescription(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(String name)
Sets the name to use in logging messages.
void
setTaskType(String type)
Sets the name with which the task has been invoked.

Methods inherited from class org.apache.tools.ant.ProjectComponent

getProject, log, log, setProject

Field Details

description

protected String description

Deprecated. You should not be accessing this variable directly.

Description of this task, if any.


location

protected Location location

Deprecated. You should not be accessing this variable directly. Please use the getLocation() method.

Location within the build file of this task definition.


target

protected Target target

Deprecated. You should not be accessing this variable directly. Please use the getOwningTarget() method.

Target this task belongs to, if any.


taskName

protected String taskName

Deprecated. You should not be accessing this variable directly. Please use the getTaskName() method.

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 String taskType

Deprecated. You should not be accessing this variable directly. Please use the getTaskType() method.

Type of this task.


wrapper

protected RuntimeConfigurable wrapper

Deprecated. You should not be accessing this variable directly. Please use the getWrapper() method.

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

Constructor Details

Task

public Task()
Sole constructor.

Method Details

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


getDescription

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

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


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


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.


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.


getTaskName

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

Returns:
the name to use in logging messages.


getTaskType

public String getTaskType()
Return the type of task

Returns:
the type of task


getWrapper

protected RuntimeConfigurable getWrapper()
Return the runtime configurable structure for this task

Returns:
the runtime structure for this task


handleErrorFlush

protected void handleErrorFlush(String output)
Handles an error line by logging it with the WARN priority.

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

Since:
Ant 1.5.2


handleErrorOutput

protected void handleErrorOutput(String output)
Handles an error output by logging it with the WARN priority.

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


handleFlush

protected void handleFlush(String output)
Handles output by logging it with the INFO priority.

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

Since:
Ant 1.5.2


handleInput

protected int handleInput(byte[] buffer,
                          int offset,
                          int length)
            throws IOException
Handle an input request by this task

Parameters:
buffer - the buffer into which data is to be read.
offset - the offset into the buffer at which data is stored.
length - the amount of data to read

Returns:
the number of bytes read

Since:
Ant 1.6


handleOutput

protected void handleOutput(String output)
Handles output by logging it with the INFO priority.

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


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 something goes wrong with the build


isInvalid

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

Returns:
true if this task is no longer valid. A new task should be configured in this case.

Since:
Ant 1.5


log

public void log(String msg)
Logs a message with the default (INFO) priority.
Overrides:
log in interface ProjectComponent

Parameters:
msg - The message to be logged. Should not be null.


log

public void log(String msg,
                int msgLevel)
Logs a message with the given priority. This delegates the actual logging to the project.
Overrides:
log in interface ProjectComponent

Parameters:
msg - The message to be logged. Should not be null.
msgLevel - The message priority at which this message is to be logged.


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.


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.


reconfigure

public void reconfigure()
Force the task to be reconfigured from it's RuntimeConfigurable


setDescription

public void setDescription(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.


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


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.


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.


setTaskName

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

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


setTaskType

public void setTaskType(String type)
Sets the name with which the task has been invoked.

Parameters:
type - The name the task has been invoked as. Should not be null.


Copyright B) 2000-2005 Apache Software Foundation. All Rights Reserved.