org.apache.tools.ant.types

## Class FileList

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

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

      public class FileList
      extends DataType
      implements ResourceCollection

  FileList represents an explicitly named list of files. FileLists are useful when you want to capture a list of files regardless of whether they currently exist. By contrast, FileSet operates as a filter, only returning the name of a matched file if it currently exists in the file system.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `FileList.FileName` Inner class corresponding to the <file> nested element.

  - ### 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
    Modifier | Constructor and Description
    --- | ---
    `` | `FileList()` The default constructor.
    `protected` | `FileList(FileList filelist)` A copy constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addConfiguredFile(FileList.FileName name)` Add a nested <file> nested element.
    `java.io.File` | `getDir(Project p)`
    `java.lang.String[]` | `getFiles(Project p)` Returns the list of files represented by this FileList.
    `protected FileList` | `getRef(Project p)` Performs the check for circular references and returns the referenced FileList.
    `boolean` | `isFilesystemOnly()` Always returns true.
    `java.util.Iterator<Resource>` | `iterator()` Fulfill the ResourceCollection contract.
    `void` | `setDir(java.io.File dir)` Set the dir attribute.
    `void` | `setFiles(java.lang.String filenames)` Set the filenames attribute.
    `void` | `setRefid(Reference r)` Makes this instance in effect a reference to another FileList instance.
    `int` | `size()` Fulfill the ResourceCollection contract.

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

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

- - ### Constructor Detail

    - #### FileList

          public FileList()

      The default constructor.

    - #### FileList

          protected FileList(FileList filelist)

      A copy constructor.
      Parameters:
        `filelist` - a `FileList` value

  - ### Method Detail

    - #### setRefid

          public void setRefid(Reference r)
                        throws BuildException

      Makes this instance in effect a reference to another FileList instance.

      You must not set another attribute or nest elements inside this element if you make it a reference.

      Overrides:
        `setRefid` in class `DataType`
      Parameters:
        `r` - the reference to another filelist.
      Throws:
        `BuildException` - if an error occurs.

    - #### setDir

          public void setDir(java.io.File dir)
                      throws BuildException

      Set the dir attribute.
      Parameters:
        `dir` - the directory this filelist is relative to.
      Throws:
        `BuildException` - if an error occurs

    - #### getDir

          public java.io.File getDir(Project p)

      Parameters:
        `p` - the current project
      Returns:
        the directory attribute

    - #### setFiles

          public void setFiles(java.lang.String filenames)

      Set the filenames attribute.
      Parameters:
        `filenames` - a string contains filenames, separated by , or by whitespace.

    - #### getFiles

          public java.lang.String[] getFiles(Project p)

      Returns the list of files represented by this FileList.
      Parameters:
        `p` - the current project
      Returns:
        the list of files represented by this FileList.

    - #### getRef

          protected FileList getRef(Project p)

      Performs the check for circular references and returns the referenced FileList.
      Parameters:
        `p` - the current project
      Returns:
        the FileList represented by a referenced filelist.

    - #### addConfiguredFile

          public void addConfiguredFile(FileList.FileName name)

      Add a nested <file> nested element.
      Parameters:
        `name` - a configured file element with a name.
      Since:
        Ant 1.6.2

    - #### iterator

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

      Fulfill the ResourceCollection contract.
      Specified by:
        `iterator` in interface `java.lang.Iterable<Resource>`
      Specified by:
        `iterator` in interface `ResourceCollection`
      Returns:
        an Iterator of Resources.
      Since:
        Ant 1.7

    - #### size

          public int size()

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

    - #### isFilesystemOnly

          public boolean isFilesystemOnly()

      Always returns true.
      Specified by:
        `isFilesystemOnly` in interface `ResourceCollection`
      Returns:
        true indicating that all elements will be FileResources.
      Since:
        Ant 1.7