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
-
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 voidadd(ResourceCollection c)Add a ResourceCollection to the container.voidaddAll(java.util.Collection<? extends ResourceCollection> c)Add the Collection of ResourceCollections to the container.voidclear()Clear the container.java.lang.Objectclone()Implement clone.protected voiddieOnCircularReference(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.booleanisCache()Learn whether to cache collections.booleanisFilesystemOnly()Fulfill the ResourceCollection contract.java.util.Iterator<Resource>iterator()Fulfill the ResourceCollection contract.voidsetCache(boolean b)Set whether to cache collections.intsize()Fulfill the ResourceCollection contract.java.lang.StringtoString()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 BuildExceptionClear the container.- Throws:
BuildException- on error.
-
add
public void add(ResourceCollection c) throws BuildException
Add a ResourceCollection to the container.- Specified by:
addin interfaceAppendableResourceCollection- 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:
iteratorin interfacejava.lang.Iterable<Resource>- Returns:
- a "fail-fast" Iterator.
-
size
public int size()
Fulfill the ResourceCollection contract.- Specified by:
sizein interfaceResourceCollection- Returns:
- number of elements as int.
-
isFilesystemOnly
public boolean isFilesystemOnly()
Fulfill the ResourceCollection contract.- Specified by:
isFilesystemOnlyin 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:
dieOnCircularReferencein 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.
-
-