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 and Description
    `ResourceList()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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` | `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, 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`

- - ### 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 http://java.sun.com/j2se/1.5.0/docs/guide/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.9.12

    - #### 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>`
      Specified by:
        `iterator` in interface `ResourceCollection`
      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.