org.apache.tools.ant.types.resources

Class AbstractResourceCollectionWrapper

public abstract class AbstractResourceCollectionWrapper extends DataType implements ResourceCollection, Cloneable

Base class for a ResourceCollection that wraps a single nested ResourceCollection.

Since: Ant 1.8.2

Method Summary
voidadd(ResourceCollection c)
Add a ResourceCollection to the container.
protected abstract IteratorcreateIterator()
Do create an iterator on the resource collection.
protected voiddieOnCircularReference(Stack stk, Project p)
Overrides the version of DataType to recurse on all DataType child elements that may have been added.
protected ResourceCollectiongetResourceCollection()
Get the nested ResourceCollection.
protected abstract intgetSize()
Do compute the size of the resource collection.
booleanisCache()
Learn whether to cache collections.
booleanisFilesystemOnly()
Fulfill the ResourceCollection contract.
Iteratoriterator()
Fulfill the ResourceCollection contract.
voidsetCache(boolean b)
Set whether to cache collections.
intsize()
Fulfill the ResourceCollection contract.
StringtoString()
Format this BaseResourceCollectionWrapper as a String.

Method Detail

add

public void add(ResourceCollection c)
Add a ResourceCollection to the container.

Parameters: c the ResourceCollection to add.

Throws: BuildException on error.

createIterator

protected abstract Iterator createIterator()
Do create an iterator on the resource collection. The creation of the iterator is allowed to not be thread safe whereas the iterator itself should. The returned iterator will be wrapped into the FailFast one.

Returns: the iterator on the resource collection

dieOnCircularReference

protected void dieOnCircularReference(Stack stk, Project p)
Overrides the version of DataType to recurse on all DataType child elements that may have been added.

Parameters: stk the stack of data types to use (recursively). p the project to use to dereference the references.

Throws: BuildException on error.

getResourceCollection

protected final ResourceCollection getResourceCollection()
Get the nested ResourceCollection.

Returns: a ResourceCollection.

Throws: BuildException if no nested ResourceCollection has been provided.

getSize

protected abstract int getSize()
Do compute the size of the resource collection. The implementation of this function is allowed to be not thread safe.

Returns: size of resource collection.

isCache

public boolean isCache()
Learn whether to cache collections. Default is true.

Returns: boolean cache flag.

isFilesystemOnly

public boolean isFilesystemOnly()
Fulfill the ResourceCollection contract.

Returns: whether this is a filesystem-only resource collection.

iterator

public final Iterator iterator()
Fulfill the ResourceCollection contract.

Returns: an Iterator of Resources.

setCache

public void setCache(boolean b)
Set whether to cache collections.

Parameters: b boolean cache flag.

size

public int size()
Fulfill the ResourceCollection contract.

Returns: number of elements as int.

toString

public String toString()
Format this BaseResourceCollectionWrapper as a String.

Returns: a descriptive String.