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:
  `Cloneable`, `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

  Modifier and Type
  Method
  Description
  `void`
  `add​(ResourceCollection rc)`
  Adds a source.
  `void`
  `addFilterChain​(FilterChain filter)`
  Adds a FilterChain.
  `protected void`
  `dieOnCircularReference​(Stack<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.
  `Iterator<Resource>`
  `iterator()`
  Fulfill the ResourceCollection contract.
  `void`
  `setBasedir​(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​(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 Details

  - ### ResourceList

    public ResourceList()

- ## Method Details

  - ### 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​(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​(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 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 `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​(Stack<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.