## org.apache.tools.ant.types.resources
Class Resources

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

All Implemented Interfaces:
  java.lang.Cloneable, java.lang.Iterable<Resource>, ResourceCollection

    public class Resources

extends DataType
implements ResourceCollection

Generic ResourceCollection: Either stores nested ResourceCollections, making no attempt to remove duplicates, or references another ResourceCollection.

Since:
  Ant 1.7

Field Summary
`static java.util.Iterator<Resource>` `EMPTY_ITERATOR` static empty Iterator
`static ResourceCollection` `NONE` static empty ResourceCollection

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
`Resources()` Create a new Resources.
`Resources(Project project)` Create a new Resources.

Method Summary
`void` `add(ResourceCollection c)` Add a ResourceCollection.
`protected void` `dieOnCircularReference(java.util.Stack<java.lang.Object> stk, Project p)` Overrides the version of DataType to recurse on all DataType child elements that may have been added.
`protected void` `invalidateExistingIterators()` Allow subclasses to notify existing Iterators they have experienced concurrent modification.
`boolean` `isFilesystemOnly()` Fulfill the ResourceCollection contract.
`java.util.Iterator<Resource>` `iterator()` Fulfill the ResourceCollection contract.
`void` `setCache(boolean b)` Set whether to cache collections.
`int` `size()` Fulfill the ResourceCollection contract.
`java.lang.String` `toString()` Format this `Resources` as a String.

Methods inherited from class org.apache.tools.ant.types.DataType
`checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, 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
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### NONE

    public static final ResourceCollection NONE

  static empty ResourceCollection

### EMPTY_ITERATOR

    public static final java.util.Iterator<Resource> EMPTY_ITERATOR

  static empty Iterator

Constructor Detail

### Resources

    public Resources()

  Create a new Resources.

### Resources

    public Resources(Project project)

  Create a new Resources.

  Since:
    Ant 1.8

Method Detail

### setCache

    public void setCache(boolean b)

  Set whether to cache collections.

  Parameters:
    `b` - boolean cache flag.
  Since:
    Ant 1.8.0

### add

    public void add(ResourceCollection c)

  Add a ResourceCollection.

  Parameters:
    `c` - the ResourceCollection to add.

### iterator

    public java.util.Iterator<Resource> iterator()

  Fulfill the ResourceCollection contract.

  Specified by:
    `iterator` in interface `java.lang.Iterable<Resource>`
  Specified by:
    `iterator` in interface `ResourceCollection`
  Returns:
    an Iterator of Resources.

### size

    public int size()

  Fulfill the ResourceCollection contract.

  Specified by:
    `size` in interface `ResourceCollection`
  Returns:
    number of elements as int.

### isFilesystemOnly

    public boolean isFilesystemOnly()

  Fulfill the ResourceCollection contract.

  Specified by:
    `isFilesystemOnly` in interface `ResourceCollection`
  Returns:
    true if all Resources represent files.

### toString

    public java.lang.String toString()

  Format this `Resources` as a String.

  Overrides:
    `toString` in class `DataType`
  Returns:
    a descriptive `String`.

### dieOnCircularReference

    protected void dieOnCircularReference(java.util.Stack<java.lang.Object> stk,
                                          Project p)
                                   throws BuildException

  Overrides the version of DataType to recurse on all DataType child elements that may have been added.

  Overrides:
    `dieOnCircularReference` in class `DataType`
  Parameters:
    `stk` - the stack of data types to use (recursively).
    `p` - the project to use to dereference the references.
  Throws:
    `BuildException` - on error.

### invalidateExistingIterators

    protected void invalidateExistingIterators()

  Allow subclasses to notify existing Iterators they have experienced concurrent modification.