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:
  `java.lang.Cloneable`, `java.lang.Comparable<Resource>`, `java.lang.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, java.lang.String n)` | Construct a new PropertyResource with the specified name.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `boolean` | `equals​(java.lang.Object o)` | Override to implement equality with equivalent Resources, since we are capable of proxying them.
  `java.io.InputStream` | `getInputStream()` | Get an InputStream for the Resource.
  `java.lang.Object` | `getObjectValue()` | Get the Object value of this PropertyResource.
  `java.io.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.
  `java.lang.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.
  `java.lang.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, java.lang.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 java.lang.String getValue()
    Get the value of this PropertyResource.
    Returns:
      the value of the specified Property.

  - ### getObjectValue

    public java.lang.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​(java.lang.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 java.lang.String toString()
    Get the string representation of this Resource.
    Overrides:
      `toString` in class `Resource`
    Returns:
      this Resource formatted as a String.

  - ### getInputStream

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

  - ### getOutputStream

    public java.io.OutputStream getOutputStream() throws java.io.IOException
    Get an OutputStream for the Resource.
    Overrides:
      `getOutputStream` in class `Resource`
    Returns:
      an OutputStream to which content can be written.
    Throws:
      `java.io.IOException` - if unable to provide the content of this Resource as a stream.
      `java.lang.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:
      `java.lang.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`.