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
- Direct Known Subclasses:
Difference
,Intersect
,Union
public abstract class BaseResourceCollectionContainer extends DataType implements ResourceCollection, java.lang.Cloneable
Base class for ResourceCollections that nest multiple ResourceCollections.- Since:
- Ant 1.7
-
-
Field Summary
-
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
-
Constructor Summary
Constructors Constructor Description BaseResourceCollectionContainer()
Create a new BaseResourceCollectionContainer.BaseResourceCollectionContainer(Project project)
Create a new BaseResourceCollectionContainer.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods 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
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.tools.ant.types.ResourceCollection
isEmpty, stream
-
-
-
-
Constructor Detail
-
BaseResourceCollectionContainer
public BaseResourceCollectionContainer()
Create a new BaseResourceCollectionContainer.
-
BaseResourceCollectionContainer
public BaseResourceCollectionContainer(Project project)
Create a new BaseResourceCollectionContainer.- Parameters:
project
- Project- Since:
- Ant 1.8
-
-
Method Detail
-
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
public void clear() throws BuildException
Clear the container.- Throws:
BuildException
- on error.
-
add
public void add(ResourceCollection c) throws BuildException
Add a ResourceCollection to the container.- Parameters:
c
- the ResourceCollection to add.- Throws:
BuildException
- on error.
-
addAll
public void addAll(java.util.Collection<? extends ResourceCollection> c) throws BuildException
Add the Collection of ResourceCollections to the container.- Parameters:
c
- the Collection whose elements to add.- Throws:
BuildException
- on error.
-
iterator
public final java.util.Iterator<Resource> 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 BuildException
Overrides 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
public final java.util.List<ResourceCollection> getResourceCollections()
Get the nested ResourceCollections.- Returns:
- List.
-
getCollection
protected abstract java.util.Collection<Resource> 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.
-
-