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

    Constructors
    Constructor and Description
    `MappedResourceCollection()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.