org.apache.tools.ant.types.resources
Class MappedResourceCollection

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by org.apache.tools.ant.types.resources.MappedResourceCollection
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<Resource>, ResourceCollection

public class MappedResourceCollection
extends DataType
implements ResourceCollection, java.lang.Cloneable

Wrapper around a resource collections that maps the names of the other collection using a configured mapper.

Since:
Ant 1.8.0

Field Summary
 
Fields inherited from class org.apache.tools.ant.types.DataType
checked, ref
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
MappedResourceCollection()
           
 
Method Summary
 void add(FileNameMapper fileNameMapper)
          Add a nested filenamemapper.
 void add(ResourceCollection c)
          Adds the required nested ResourceCollection.
 java.lang.Object clone()
          Implement clone.
 Mapper createMapper()
          Define the mapper to map source to destination files.
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.
 boolean isFilesystemOnly()
          Indicate whether this ResourceCollection is composed entirely of Resources accessible via local filesystem conventions.
 java.util.Iterator<Resource> iterator()
          Gets the contents of this collection.
 void setCache(boolean cache)
          Set whether to cache collections.
 void setEnableMultipleMappings(boolean enableMultipleMappings)
          Set method of handling mappers that return multiple mappings for a given source path.
 void setRefid(Reference r)
          Overrides the base version.
 int size()
          Learn the number of contained Resources.
 java.lang.String toString()
          Format this resource collection as a String.
 
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, 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
 

Constructor Detail

MappedResourceCollection

public MappedResourceCollection()
Method Detail

add

public void add(ResourceCollection c)
         throws BuildException
Adds the required nested ResourceCollection.

Parameters:
c - the ResourceCollection to add.
Throws:
BuildException - on error.

createMapper

public Mapper createMapper()
                    throws BuildException
Define the mapper to map source to destination files.

Returns:
a mapper to be configured.
Throws:
BuildException - if more than one mapper is defined.

add

public void add(FileNameMapper fileNameMapper)
Add a nested filenamemapper.

Parameters:
fileNameMapper - the mapper to add.
Since:
Ant 1.6.3

setEnableMultipleMappings

public void setEnableMultipleMappings(boolean enableMultipleMappings)
Set method of handling mappers that return multiple mappings for a given source path.

Parameters:
enableMultipleMappings - If true the type will use all the mappings for a given source path, if false, only the first mapped name is processed. By default, this setting is false to provide backward compatibility with earlier releases.
Since:
Ant 1.8.1

setCache

public void setCache(boolean cache)
Set whether to cache collections.

Since:
Ant 1.8.1

isFilesystemOnly

public boolean isFilesystemOnly()
Indicate whether this ResourceCollection is composed entirely of Resources accessible via local filesystem conventions. If true, all resources returned from this collection should respond with a FileProvider when asked via Resource.as(java.lang.Class).

Specified by:
isFilesystemOnly in interface ResourceCollection
Returns:
whether this is a filesystem-only resource collection.

size

public int size()
Learn the number of contained Resources.

Specified by:
size in interface ResourceCollection
Returns:
number of elements as int.

iterator

public java.util.Iterator<Resource> iterator()
Gets the contents of this collection.

Specified by:
iterator in interface java.lang.Iterable<Resource>
Specified by:
iterator in interface ResourceCollection
Returns:
all resources in the collection

setRefid

public void setRefid(Reference r)
Overrides the base version.

Overrides:
setRefid in class DataType
Parameters:
r - the Reference to set.

clone

public java.lang.Object clone()
Implement clone. The nested resource collection and mapper are copied.

Overrides:
clone in class DataType
Returns:
a cloned instance.

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 class DataType
Parameters:
stk - the stack of data types to use (recursively).
p - the project to use to dereference the references.
Throws:
BuildException - on error.

toString

public java.lang.String toString()
Format this resource collection as a String.

Overrides:
toString in class DataType
Returns:
a descriptive String.