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 Object
Class to hold a reference to another object in the project.

## Constructor Summary

Constructors
Constructor
Description
`Reference()`
Deprecated.
since 1.7.
`Reference(String id)`
Deprecated.
since 1.7.
`Reference(Project p, 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.
`String`
`getRefId()`
Get the reference id of this reference.
`void`
`setProject(Project p)`
Set the associated project.
`void`
`setRefId(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(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, 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(String id)
Set the reference id. Should not normally be necessary; use `Reference(Project, String)`.

Parameters:
  `id` - the reference id to use

### getRefId

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