Class BaseResourceCollectionContainer
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.resources.BaseResourceCollectionContainer
- All Implemented Interfaces:
java.lang.Cloneable
,java.lang.Iterable<Resource>
,ResourceCollection
,AppendableResourceCollection
- Direct Known Subclasses:
Difference
,Intersect
,Union
public abstract class BaseResourceCollectionContainer extends DataType implements AppendableResourceCollection, java.lang.Cloneable
Base class for ResourceCollections that nest multiple ResourceCollections.
- Since:
- Ant 1.7
-
Field Summary
-
Constructor Summary
Constructors Constructor Description BaseResourceCollectionContainer()
Create a new BaseResourceCollectionContainer.BaseResourceCollectionContainer(Project project)
Create a new BaseResourceCollectionContainer. -
Method Summary
Modifier and Type Method Description void
add(ResourceCollection c)
Add a ResourceCollection to the container.void
addAll(java.util.Collection<? extends ResourceCollection> c)
Add the Collection of ResourceCollections to the container.void
clear()
Clear the container.java.lang.Object
clone()
Implement clone.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 abstract java.util.Collection<Resource>
getCollection()
Template method for subclasses to return a Collection object of Resources.java.util.List<ResourceCollection>
getResourceCollections()
Get the nested ResourceCollections.boolean
isCache()
Learn whether to cache collections.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 BaseResourceCollectionContainer as a String.Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, 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
-
Constructor Details
-
BaseResourceCollectionContainer
public BaseResourceCollectionContainer()Create a new BaseResourceCollectionContainer. -
BaseResourceCollectionContainer
Create a new BaseResourceCollectionContainer.- Parameters:
project
- Project- Since:
- Ant 1.8
-
-
Method Details
-
setCache
public void setCache(boolean b)Set whether to cache collections.- Parameters:
b
- boolean cache flag.
-
isCache
public boolean isCache()Learn whether to cache collections. Default istrue
.- Returns:
- boolean cache flag.
-
clear
Clear the container.- Throws:
BuildException
- on error.
-
add
Add a ResourceCollection to the container.- Specified by:
add
in interfaceAppendableResourceCollection
- Parameters:
c
- the ResourceCollection to add.- Throws:
BuildException
- on error.
-
addAll
Add the Collection of ResourceCollections to the container.- Parameters:
c
- the Collection whose elements to add.- Throws:
BuildException
- on error.
-
iterator
Fulfill the ResourceCollection contract. The Iterator returned will throw ConcurrentModificationExceptions if ResourceCollections are added to this container while the Iterator is in use.- Specified by:
iterator
in interfacejava.lang.Iterable<Resource>
- Returns:
- a "fail-fast" Iterator.
-
size
public int size()Fulfill the ResourceCollection contract.- Specified by:
size
in interfaceResourceCollection
- Returns:
- number of elements as int.
-
isFilesystemOnly
public boolean isFilesystemOnly()Fulfill the ResourceCollection contract.- Specified by:
isFilesystemOnly
in interfaceResourceCollection
- Returns:
- whether this is a filesystem-only resource collection.
-
dieOnCircularReference
protected void dieOnCircularReference(java.util.Stack<java.lang.Object> stk, Project p) throws BuildExceptionOverrides the version of DataType to recurse on all DataType child elements that may have been added.- Overrides:
dieOnCircularReference
in classDataType
- Parameters:
stk
- the stack of data types to use (recursively).p
- the project to use to dereference the references.- Throws:
BuildException
- on error.
-
getResourceCollections
Get the nested ResourceCollections.- Returns:
- List.
-
getCollection
Template method for subclasses to return a Collection object of Resources.- Returns:
- Collection.
-
clone
public java.lang.Object clone()Implement clone. The set of nested resource collections is shallowly cloned. -
toString
public java.lang.String toString()Format this BaseResourceCollectionContainer as a String.
-