Class AbstractResourceCollectionWrapper
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.resources.AbstractResourceCollectionWrapper
- All Implemented Interfaces:
Cloneable, Iterable<Resource>, ResourceCollection
- Direct Known Subclasses:
BaseResourceCollectionWrapper, LazyResourceCollectionWrapper
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
-
Field Summary
Fields inherited from class ProjectComponent
description, location, project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a ResourceCollection to the container.Do create an iterator on the resource collection.protected voiddieOnCircularReference(Stack<Object> stk, Project p) Overrides the version of DataType to recurse on all DataType child elements that may have been added.protected final ResourceCollectionGet the nested ResourceCollection.protected abstract intgetSize()Do compute the size of the resource collection.booleanisCache()Learn whether to cache collections.booleanFulfill the ResourceCollection contract.iterator()Fulfill the ResourceCollection contract.voidsetCache(boolean b) Set whether to cache collections.intsize()Fulfill the ResourceCollection contract.toString()Format this AbstractResourceCollectionWrapper as a String.Methods inherited from class DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, tooManyAttributesModifier and TypeMethodDescriptionprotected voidcheck that it is ok to set attributes, i.e that no reference is definedprotected voidcheck that it is ok to add children, i.e that no reference is definedprotected BuildExceptionCreates an exception that indicates the user has generated a loop of data types referencing each other.clone()protected voidConvenience method.protected voidConvenience method.protected <T> TDeprecated.use getCheckedRef(Class)protected <T> TgetCheckedRef(Class<T> requiredClass) Performs the check for circular references and returns the referenced object.protected <T> TgetCheckedRef(Class<T> requiredClass, String dataTypeName) Performs the check for circular references and returns the referenced object.protected <T> TgetCheckedRef(Class<T> requiredClass, String dataTypeName, Project project) Performs the check for circular references and returns the referenced object.protected <T> TDeprecated.use getCheckedRef(Class)protected StringGets as descriptive as possible a name used for this datatype instance.getRefid()get the reference set on this objectstatic voidinvokeCircularReferenceCheck(DataType dt, Stack<Object> stk, Project p) Allow DataTypes outside org.apache.tools.ant.types to indirectly call dieOnCircularReference on nested DataTypes.protected booleanThe flag that is used to indicate that circular references have been checked.booleanHas the refid attribute of this element been set?protected BuildExceptionCreates an exception that indicates that this XML element must not have child elements if the refid attribute is set.static voidpushAndInvokeCircularReferenceCheck(DataType dt, Stack<Object> stk, Project p) Allow DataTypes outside org.apache.tools.ant.types to indirectly call dieOnCircularReference on nested DataTypes.protected voidsetChecked(boolean checked) Set the flag that is used to indicate that circular references have been checked.voidSet the value of the refid attribute.protected BuildExceptionCreates an exception that indicates that refid has to be the only attribute if it is set.Methods inherited from class ProjectComponent
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProjectModifier and TypeMethodDescriptionReturns the description of the current action.Returns the file/location where this task was defined.Returns the project to which this component belongs.voidLogs a message with the default (INFO) priority.voidLogs a message with the given priority.voidsetDescription(String desc) Sets a description of the current action.voidsetLocation(Location location) Sets the file/location where this task was defined.voidsetProject(Project project) Sets the project object of this component.Methods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Iterable
forEach, spliteratorMethods inherited from interface ResourceCollection
isEmpty, streamModifier and TypeMethodDescriptiondefault booleanisEmpty()Learn whether thisResourceCollectionis empty.stream()Return aStreamover thisResourceCollection.
-
Constructor Details
-
AbstractResourceCollectionWrapper
public AbstractResourceCollectionWrapper()
-
-
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.
-
add
Add a ResourceCollection to the container.- Parameters:
c- the ResourceCollection to add.- Throws:
BuildException- on error.
-
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
-
size
public int size()Fulfill the ResourceCollection contract.- Specified by:
sizein interfaceResourceCollection- Returns:
- number of elements as int.
-
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.
-
isFilesystemOnly
public boolean isFilesystemOnly()Fulfill the ResourceCollection contract.- Specified by:
isFilesystemOnlyin interfaceResourceCollection- Returns:
- whether this is a filesystem-only resource collection.
-
dieOnCircularReference
Overrides 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.
-
getResourceCollection
Get the nested ResourceCollection.- Returns:
- a ResourceCollection.
- Throws:
BuildException- if no nested ResourceCollection has been provided.
-
toString
-