Package org.apache.tools.ant.types.resources

# Class PropertyResource

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.Resource
org.apache.tools.ant.types.resources.PropertyResource

All Implemented Interfaces:
  `Cloneable`, `Comparable<Resource>`, `Iterable<Resource>`, `ResourceCollection`

public class PropertyResource extends Resource
Exposes an Ant property as a Resource.

Since:
  Ant 1.7

## Field Summary

### Fields inherited from class org.apache.tools.ant.types.Resource

`MAGIC, UNKNOWN_DATETIME, UNKNOWN_SIZE`

### Fields inherited from class org.apache.tools.ant.types.DataType

`checked, ref`

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

`description, location, project`

## Constructor Summary

Constructors
Constructor
Description
`PropertyResource()`
Default constructor.
`PropertyResource(Project p, String n)`
Construct a new PropertyResource with the specified name.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object o)`
Override to implement equality with equivalent Resources, since we are capable of proxying them.
`InputStream`
`getInputStream()`
Get an InputStream for the Resource.
`Object`
`getObjectValue()`
Get the Object value of this PropertyResource.
`OutputStream`
`getOutputStream()`
Get an OutputStream for the Resource.
`protected PropertyResource`
`getRef()`
Perform the check for circular references and return the referenced Resource.
`protected Resource`
`getReferencedOrProxied()`
Get the referenced or proxied Resource, if applicable.
`long`
`getSize()`
Get the size of this Resource.
`String`
`getValue()`
Get the value of this PropertyResource.
`int`
`hashCode()`
Get the hash code for this Resource.
`boolean`
`isExists()`
Find out whether this Resource exists.
`protected boolean`
`isReferenceOrProxy()`
Learn whether this PropertyResource either refers to another Resource or proxies another Resource due to its object property value being said Resource.
`String`
`toString()`
Get the string representation of this Resource.

### Methods inherited from class org.apache.tools.ant.types.Resource

`as, asOptional, clone, compareTo, getLastModified, getMagicNumber, getName, isDirectory, isFilesystemOnly, iterator, setDirectory, setExists, setLastModified, setName, setRefid, setSize, size, toLongString`

### Methods inherited from class org.apache.tools.ant.types.DataType

`checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes`

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

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

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

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Methods inherited from interface org.apache.tools.ant.types.ResourceCollection

`isEmpty, stream`

## Constructor Details

### PropertyResource

public PropertyResource()
Default constructor.

### PropertyResource

public PropertyResource(Project p, String n)
Construct a new PropertyResource with the specified name.

Parameters:
  `p` - the project to use.
  `n` - the String name of this PropertyResource (Ant property name/key).

## Method Details

### getValue

public String getValue()
Get the value of this PropertyResource.

Returns:
  the value of the specified Property.

### getObjectValue

public Object getObjectValue()
Get the Object value of this PropertyResource.

Returns:
  the Object value of the specified Property.
Since:
  Ant 1.8.1

### isExists

public boolean isExists()
Find out whether this Resource exists.

Overrides:
  `isExists` in class `Resource`
Returns:
  true if the Property is set, false otherwise.

### getSize

public long getSize()
Get the size of this Resource.

Overrides:
  `getSize` in class `Resource`
Returns:
  the size, as a long, 0 if the Resource does not exist (for compatibility with java.io.File), or UNKNOWN_SIZE if not known.

### equals

public boolean equals(Object o)
Override to implement equality with equivalent Resources, since we are capable of proxying them.

Overrides:
  `equals` in class `Resource`
Parameters:
  `o` - object to compare
Returns:
  true if equal to o

### hashCode

public int hashCode()
Get the hash code for this Resource.

Overrides:
  `hashCode` in class `Resource`
Returns:
  hash code as int.

### toString

public String toString()
Get the string representation of this Resource.

Overrides:
  `toString` in class `Resource`
Returns:
  this Resource formatted as a String.

### getInputStream

public InputStream getInputStream() throws IOException
Get an InputStream for the Resource.

Overrides:
  `getInputStream` in class `Resource`
Returns:
  an InputStream containing this Resource's content.
Throws:
  `IOException` - if unable to provide the content of this Resource as a stream.
  `UnsupportedOperationException` - if InputStreams are not supported for this Resource type.

### getOutputStream

public OutputStream getOutputStream() throws IOException
Get an OutputStream for the Resource.

Overrides:
  `getOutputStream` in class `Resource`
Returns:
  an OutputStream to which content can be written.
Throws:
  `IOException` - if unable to provide the content of this Resource as a stream.
  `UnsupportedOperationException` - if OutputStreams are not supported for this Resource type.

### isReferenceOrProxy

protected boolean isReferenceOrProxy()
Learn whether this PropertyResource either refers to another Resource or proxies another Resource due to its object property value being said Resource.

Returns:
  boolean

### getReferencedOrProxied

protected Resource getReferencedOrProxied()
Get the referenced or proxied Resource, if applicable.

Returns:
  Resource
Throws:
  `IllegalStateException` - if this PropertyResource neither proxies nor references another Resource.

### getRef

protected PropertyResource getRef()
Description copied from class: `Resource`
Perform the check for circular references and return the referenced Resource.

Overrides:
  `getRef` in class `Resource`
Returns:
  `Resource`.