Package org.apache.tools.ant.types

## Class Reference

- java.lang.Object
- - org.apache.tools.ant.types.Reference

- Direct Known Subclasses:
    `Ant.Reference`

      public class Reference
      extends java.lang.Object

  Class to hold a reference to another object in the project.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Reference()` | Deprecated. since 1.7.
    `Reference​(java.lang.String id)` | Deprecated. since 1.7.
    `Reference​(Project p, java.lang.String id)` | Create a reference to a named ID in a particular project.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Project` | `getProject()` | Get the associated project, if any; may be null.
    `<T> T` | `getReferencedObject()` | Resolve the reference, looking in the associated project.
    `<T> T` | `getReferencedObject​(Project fallback)` | Resolve the reference, using the associated project if it set, otherwise use the passed in project.
    `java.lang.String` | `getRefId()` | Get the reference id of this reference.
    `void` | `setProject​(Project p)` | Set the associated project.
    `void` | `setRefId​(java.lang.String id)` | Set the reference id.

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

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

- - ### Constructor Detail

    - #### Reference

          @Deprecated
          public Reference()

      Deprecated.
      since 1.7. Please use `Reference(Project,String)` instead.
      Create a reference.

    - #### Reference

          @Deprecated
          public Reference​(java.lang.String id)

      Deprecated.
      since 1.7. Please use `Reference(Project,String)` instead.
      Create a reference to a named ID.
      Parameters:
        `id` - the name of this reference

    - #### Reference

          public Reference​(Project p,
                           java.lang.String id)

      Create a reference to a named ID in a particular project.
      Parameters:
        `p` - the project this reference is associated with
        `id` - the name of this reference
      Since:
        Ant 1.6.3

  - ### Method Detail

    - #### setRefId

          public void setRefId​(java.lang.String id)

      Set the reference id. Should not normally be necessary; use `Reference(Project, String)`.
      Parameters:
        `id` - the reference id to use

    - #### getRefId

          public java.lang.String getRefId()

      Get the reference id of this reference.
      Returns:
        the reference id

    - #### setProject

          public void setProject​(Project p)

      Set the associated project. Should not normally be necessary; use `Reference(Project,String)`.
      Parameters:
        `p` - the project to use
      Since:
        Ant 1.6.3

    - #### getProject

          public Project getProject()

      Get the associated project, if any; may be null.
      Returns:
        the associated project
      Since:
        Ant 1.6.3

    - #### getReferencedObject

          public <T> T getReferencedObject​(Project fallback)
                                    throws BuildException

      Resolve the reference, using the associated project if it set, otherwise use the passed in project.
      Type Parameters:
        `T` - desired object type
      Parameters:
        `fallback` - the fallback project to use if the project attribute of reference is not set.
      Returns:
        the dereferenced object.
      Throws:
        `BuildException` - if the reference cannot be dereferenced.

    - #### getReferencedObject

          public <T> T getReferencedObject()
                                    throws BuildException

      Resolve the reference, looking in the associated project.
      Type Parameters:
        `T` - desired object type
      Returns:
        the dereferenced object.
      Throws:
        `BuildException` - if the project is null or the reference cannot be dereferenced
      Since:
        Ant 1.6.3
      See Also:
        `Project.getReference(java.lang.String)`