Package org.apache.tools.ant.taskdefs

# Class Available

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
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

  Nested Classes
  Modifier and Type | Class | Description
  --- | --- | ---
  `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

  Constructors
  Constructor | Description
  --- | ---
  `Available()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `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​(java.lang.String type)` | Deprecated. since 1.5.x.
  `void` | `setType​(Available.FileDir type)` | Set what type of file is required - either directory or file.
  `void` | `setValue​(java.lang.Object value)` | Set the value to be given to the property if the desired resource is available.
  `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 Details

  - ### Available

    public Available()

- ## Method Details

  - ### 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 searched. 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.Object value)
    Set the value to be given to the property if the desired resource is available.
    Parameters:
      `value` - the value to be given.

  - ### 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

    @Deprecated 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