Package org.apache.tools.ant.types.resources

## Class ResourceList

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

- All Implemented Interfaces:
    `java.lang.Cloneable`, `java.lang.Iterable<Resource>`, `ResourceCollection`

      public class ResourceList
      extends DataType
      implements ResourceCollection

  Reads a resource as text document and creates a resource for each line.
  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 | Description
    --- | ---
    `ResourceList()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(ResourceCollection rc)` | Adds a source.
    `void` | `addFilterChain​(FilterChain filter)` | Adds a FilterChain.
    `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()` | Fulfill the ResourceCollection contract.
    `java.util.Iterator<Resource>` | `iterator()` | Fulfill the ResourceCollection contract.
    `void` | `setBasedir​(java.io.File baseDir)` | Basedir to use for file resources read from nested resources - this allows the resources contained inside this collection to be considered relative to a certain base directory.
    `void` | `setEncoding​(java.lang.String encoding)` | Encoding to use for input, defaults to the platform's default encoding.
    `void` | `setPreserveDuplicates​(boolean preserveDuplicates)` | Makes this `resourcelist` return all resources as many times as they are specified.
    `void` | `setRefid​(Reference r)` | Makes this instance in effect a reference to another ResourceList instance.
    `int` | `size()` | Fulfill the ResourceCollection contract.

    - ### Methods inherited from class org.apache.tools.ant.types.DataType

      `checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, getCheckedRef, 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`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

    - ### Methods inherited from interface org.apache.tools.ant.types.ResourceCollection

      `isEmpty, stream`

- - ### Constructor Detail

    - #### ResourceList

          public ResourceList()

  - ### Method Detail

    - #### add

          public void add​(ResourceCollection rc)

      Adds a source.
      Parameters:
        `rc` - ResourceCollection

    - #### addFilterChain

          public final void addFilterChain​(FilterChain filter)

      Adds a FilterChain.
      Parameters:
        `filter` - FilterChain

    - #### setEncoding

          public final void setEncoding​(java.lang.String encoding)

      Encoding to use for input, defaults to the platform's default encoding.

      For a list of possible values see https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html.

      Parameters:
        `encoding` - String

    - #### setBasedir

          public final void setBasedir​(java.io.File baseDir)

      Basedir to use for file resources read from nested resources - this allows the resources contained inside this collection to be considered relative to a certain base directory.
      Parameters:
        `baseDir` - the basedir
      Since:
        Ant 1.10.4

    - #### setPreserveDuplicates

          public final void setPreserveDuplicates​(boolean preserveDuplicates)

      Makes this `resourcelist` return all resources as many times as they are specified. Otherwise `resourcelist` will only return each resource, in the order they first appear.
      Parameters:
        `preserveDuplicates` - boolean
      Since:
        Ant 1.10.10

    - #### setRefid

          public void setRefid​(Reference r)
                        throws BuildException

      Makes this instance in effect a reference to another ResourceList instance.
      Overrides:
        `setRefid` in class `DataType`
      Parameters:
        `r` - Reference
      Throws:
        `BuildException`

    - #### iterator

          public final java.util.Iterator<Resource> iterator()

      Fulfill the ResourceCollection contract. The Iterator returned will throw ConcurrentModificationExceptions if ResourceCollections are added to this container while the Iterator is in use.
      Specified by:
        `iterator` in interface `java.lang.Iterable<Resource>`
      Returns:
        a "fail-fast" Iterator.

    - #### size

          public int size()

      Fulfill the ResourceCollection contract.
      Specified by:
        `size` in interface `ResourceCollection`
      Returns:
        number of elements as int.

    - #### isFilesystemOnly

          public boolean isFilesystemOnly()

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

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