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

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.types.DataType
              org.apache.tools.ant.types.resources.MappedResourceCollection

All Implemented Interfaces:
  java.lang.Cloneable, 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 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` `iterator()` Get an Iterator over the contents of this ResourceCollection, whose elements are `org.apache.tools.ant.types.Resource` instances.
`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.

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, toString`

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 ResourceCollection should be instances of FileResource.

  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 iterator()

  Get an Iterator over the contents of this ResourceCollection, whose elements are `org.apache.tools.ant.types.Resource` instances.

  Specified by:
    `iterator` in interface `ResourceCollection`
  Returns:
    an Iterator of Resources.

### 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 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.