org.apache.tools.ant.taskdefs
Class Available

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.Available
All Implemented Interfaces:
java.lang.Cloneable, Condition

public class Available
extends Task
implements Condition

Will set the given property if the requested resource is available at runtime. This task may also be used as a condition by the condition task.

Since:
Ant 1.1

Nested Class Summary
static class Available.FileDir
          EnumeratedAttribute covering the file types to be checked for, either file or dir.
 
Field Summary
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
Available()
           
 
Method Summary
 Path createClasspath()
          Classpath to be used when searching for classes and resources.
 Path createFilepath()
          Path to search for file resources.
 boolean eval()
          Evaluate the availability of a resource.
 void execute()
          Entry point when operating as a task.
 void setClassname(java.lang.String classname)
          Set a classname of a class which must be available to set the given property.
 void setClasspath(Path classpath)
          Set the classpath to be used when searching for classes and resources.
 void setClasspathRef(Reference r)
          Set the classpath by reference.
 void setFile(java.io.File file)
          Set the file which must be present in the file system to set the given property.
 void setFilepath(Path filepath)
          Set the path to use when looking for a file.
 void setIgnoresystemclasses(boolean ignore)
          Set whether the search for classes should ignore the runtime classes and just use the given classpath.
 void setProperty(java.lang.String property)
          Set the name of the property which will be set if the particular resource is available.
 void setResource(java.lang.String resource)
          Set the name of a Java resource which is required to set the property.
 void setSearchParents(boolean searchParents)
          Set the searchParents attribute.
 void setType(Available.FileDir type)
          Set what type of file is required - either directory or file.
 void setType(java.lang.String type)
          Deprecated. since 1.5.x. setType(String) is deprecated and is replaced with setType(Available.FileDir) to make Ant's Introspection mechanism do the work and also to encapsulate operations on the type in its own class.
 void setValue(java.lang.String value)
          Set the value to be given to the property if the desired resource is available.
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Available

public Available()
Method Detail

setSearchParents

public void setSearchParents(boolean searchParents)
Set the searchParents attribute. This controls the behaviour of the the "file" type. If true, the path, parent path and grandparent path are searched for the file. If false, only the path is seached. The default value is false.

Parameters:
searchParents - the value to set.

setClasspath

public void setClasspath(Path classpath)
Set the classpath to be used when searching for classes and resources.

Parameters:
classpath - an Ant Path object containing the search path.

createClasspath

public Path createClasspath()
Classpath to be used when searching for classes and resources.

Returns:
an empty Path instance to be configured by Ant.

setClasspathRef

public void setClasspathRef(Reference r)
Set the classpath by reference.

Parameters:
r - a Reference to a Path instance to be used as the classpath value.

setFilepath

public void setFilepath(Path filepath)
Set the path to use when looking for a file.

Parameters:
filepath - a Path instance containing the search path for files.

createFilepath

public Path createFilepath()
Path to search for file resources.

Returns:
a new Path instance which Ant will configure with a file search path.

setProperty

public void setProperty(java.lang.String property)
Set the name of the property which will be set if the particular resource is available.

Parameters:
property - the name of the property to set.

setValue

public void setValue(java.lang.String value)
Set the value to be given to the property if the desired resource is available.

Parameters:
value - the value to be given.

setClassname

public void setClassname(java.lang.String classname)
Set a classname of a class which must be available to set the given property.

Parameters:
classname - the name of the class required.

setFile

public void setFile(java.io.File file)
Set the file which must be present in the file system to set the given property.

Parameters:
file - the name of the file which is required.

setResource

public void setResource(java.lang.String resource)
Set the name of a Java resource which is required to set the property.

Parameters:
resource - the name of a resource which is required to be available.

setType

public void setType(java.lang.String type)
Deprecated. since 1.5.x. setType(String) is deprecated and is replaced with setType(Available.FileDir) to make Ant's Introspection mechanism do the work and also to encapsulate operations on the type in its own class.

Parameters:
type - the type of resource

setType

public void setType(Available.FileDir type)
Set what type of file is required - either directory or file.

Parameters:
type - an instance of the FileDir enumeratedAttribute indicating whether the file required is to be a directory or a plain file.

setIgnoresystemclasses

public void setIgnoresystemclasses(boolean ignore)
Set whether the search for classes should ignore the runtime classes and just use the given classpath.

Parameters:
ignore - true if system classes are to be ignored.

execute

public void execute()
             throws BuildException
Entry point when operating as a task.

Overrides:
execute in class Task
Throws:
BuildException - if the task is not configured correctly.

eval

public boolean eval()
             throws BuildException
Evaluate the availability of a resource.

Specified by:
eval in interface Condition
Returns:
boolean is the resource is available.
Throws:
BuildException - if the condition is not configured correctly