Class 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
    • Constructor Detail

      • MappedResourceCollection

        public MappedResourceCollection()
    • Method Detail

      • 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.
        Parameters:
        cache - boolean
        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<T>).
        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()
        Specified by:
        iterator in interface java.lang.Iterable<Resource>
      • 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.