org.apache.tools.ant.taskdefs.condition

## Class IsReference

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.taskdefs.condition.IsReference

- All Implemented Interfaces:
    java.lang.Cloneable, Condition

      public class IsReference
      extends ProjectComponent
      implements Condition

  Condition that tests whether a given reference has been defined.

  Optionally tests whether it is of a given type/class.

  Since:
    Ant 1.6

- - ### Field Summary

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IsReference()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `eval()` Is this condition true?
    `void` | `setRefid(Reference r)` Set the refid attribute.
    `void` | `setType(java.lang.String type)` Set the type attribute.

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

      `clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### IsReference

          public IsReference()

  - ### Method Detail

    - #### setRefid

          public void setRefid(Reference r)

      Set the refid attribute.
      Parameters:
        `r` - a Reference value

    - #### setType

          public void setType(java.lang.String type)

      Set the type attribute. This is optional attribute.
      Parameters:
        `type` - an ant component type name

    - #### eval

          public boolean eval()
                       throws BuildException

      Description copied from interface: `Condition`
      Is this condition true?
      Specified by:
        `eval` in interface `Condition`
      Returns:
        true if the reference exists and if type is set, if the reference is the same type
      Throws:
        `BuildException` - if an error occurs