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.
`final 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.
`final Iterator<Resource>`
`iterator()`
Fulfill the ResourceCollection contract.
`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.
`final void`
`setEncoding(String encoding)`
Encoding to use for input, defaults to the platform's default encoding.
`final 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.