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

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by 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.