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 BaseResourceCollectionContainer
getCheckedRef()
Performs the check for circular references and returns the referenced object.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, 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.
-
toString
public java.lang.String toString()
Format this BaseResourceCollectionContainer as a String.
-
getCheckedRef
protected BaseResourceCollectionContainer getCheckedRef()
Description copied from class:DataType
Performs the check for circular references and returns the referenced object.- Overrides:
getCheckedRef
in classDataType
- Returns:
- the dereferenced object.
-
-