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

  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 Details

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

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