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

# Class Files

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.selectors.AbstractSelectorContainer
org.apache.tools.ant.types.resources.Files

All Implemented Interfaces:
  `Cloneable`, `Iterable<Resource>`, `ResourceCollection`, `SelectorContainer`

public class Files extends AbstractSelectorContainer implements ResourceCollection
ResourceCollection implementation; like AbstractFileSet with absolute paths.

Since:
  Ant 1.7

- ## 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
  Description
  ``
  `Files()`
  Construct a new `Files` collection.
  `protected`
  `Files(Files f)`
  Construct a new `Files` collection, shallowly cloned from the specified `Files`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `appendExcludes(String[] excludes)`
  Append `excludes` to the current list of include patterns.
  `void`
  `appendIncludes(String[] includes)`
  Append `includes` to the current list of include patterns.
  `void`
  `appendSelector(FileSelector selector)`
  Add a new selector into this container.
  `Object`
  `clone()`
  Create a deep clone of this instance, except for the nested selectors (the list of selectors is a shallow clone of this instance's list).
  `PatternSet.NameEntry`
  `createExclude()`
  Add a name entry to the exclude list.
  `PatternSet.NameEntry`
  `createExcludesFile()`
  Add a name entry to the excludes files list.
  `PatternSet.NameEntry`
  `createInclude()`
  Add a name entry to the include list.
  `PatternSet.NameEntry`
  `createIncludesFile()`
  Add a name entry to the include files list.
  `PatternSet`
  `createPatternSet()`
  Create a nested patternset.
  `boolean`
  `getDefaultexcludes()`
  Get whether default exclusions should be used or not.
  `protected Files`
  `getRef()`
  Perform the check for circular references and return the referenced Files collection.
  `boolean`
  `hasPatterns()`
  Find out whether this Files collection has patterns.
  `boolean`
  `isCaseSensitive()`
  Find out if this Files collection is case-sensitive.
  `boolean`
  `isFilesystemOnly()`
  Always returns true.
  `boolean`
  `isFollowSymlinks()`
  Find out whether symbolic links should be followed.
  `Iterator<Resource>`
  `iterator()`
  Fulfill the ResourceCollection contract.
  `String[]`
  `mergeExcludes(Project p)`
  Get the merged exclude patterns for this Files collection.
  `String[]`
  `mergeIncludes(Project p)`
  Get the merged include patterns for this Files collection.
  `PatternSet`
  `mergePatterns(Project p)`
  Get the merged patterns for this Files collection.
  `void`
  `setCaseSensitive(boolean caseSensitive)`
  Set case-sensitivity of the Files collection.
  `void`
  `setDefaultexcludes(boolean useDefaultExcludes)`
  Set whether default exclusions should be used or not.
  `void`
  `setExcludes(String excludes)`
  Append `excludes` to the current list of exclude patterns.
  `void`
  `setExcludesfile(File excl)`
  Set the `File` containing the excludes patterns.
  `void`
  `setFollowSymlinks(boolean followSymlinks)`
  Set whether or not symbolic links should be followed.
  `void`
  `setIncludes(String includes)`
  Append `includes` to the current list of include patterns.
  `void`
  `setIncludesfile(File incl)`
  Set the `File` containing the includes patterns.
  `void`
  `setRefid(Reference r)`
  Make this instance in effect a reference to another instance.
  `int`
  `size()`
  Fulfill the ResourceCollection contract.
  `String`
  `toString()`
  Format this Files collection as a String.

  ### Methods inherited from class org.apache.tools.ant.types.selectors.AbstractSelectorContainer

  `add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addExecutable, addFilename, addMajority, addModified, addNone, addNot, addOr, addOwnedBy, addPosixGroup, addPosixPermissions, addPresent, addReadable, addSelector, addSize, addSymlink, addType, addWritable, dieOnCircularReference, getSelectors, hasSelectors, selectorCount, selectorElements, validate`

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

  `checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes`

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

  - ### Files

    public Files()
    Construct a new `Files` collection.

  - ### Files

    protected Files(Files f)
    Construct a new `Files` collection, shallowly cloned from the specified `Files`.
    Parameters:
      `f` - the `Files` to use as a template.

- ## Method Details

  - ### setRefid

    public void setRefid(Reference r) throws BuildException
    Make this instance in effect a reference to another 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 use.
    Throws:
      `BuildException` - if there is a problem.

  - ### createPatternSet

    public PatternSet createPatternSet()
    Create a nested patternset.
    Returns:
      `PatternSet`.

  - ### createInclude

    public PatternSet.NameEntry createInclude()
    Add a name entry to the include list.
    Returns:
      `PatternSet.NameEntry`.

  - ### createIncludesFile

    public PatternSet.NameEntry createIncludesFile()
    Add a name entry to the include files list.
    Returns:
      `PatternSet.PatternFileNameEntry`.

  - ### createExclude

    public PatternSet.NameEntry createExclude()
    Add a name entry to the exclude list.
    Returns:
      `PatternSet.NameEntry`.

  - ### createExcludesFile

    public PatternSet.NameEntry createExcludesFile()
    Add a name entry to the excludes files list.
    Returns:
      `PatternSet.PatternFileNameEntry`.

  - ### setIncludes

    public void setIncludes(String includes)
    Append `includes` to the current list of include patterns.

    Patterns may be separated by a comma or a space.

    Parameters:
      `includes` - the `String` containing the include patterns.

  - ### appendIncludes

    public void appendIncludes(String[] includes)
    Append `includes` to the current list of include patterns.
    Parameters:
      `includes` - array containing the include patterns.

  - ### setExcludes

    public void setExcludes(String excludes)
    Append `excludes` to the current list of exclude patterns.

    Patterns may be separated by a comma or a space.

    Parameters:
      `excludes` - the `String` containing the exclude patterns.

  - ### appendExcludes

    public void appendExcludes(String[] excludes)
    Append `excludes` to the current list of include patterns.
    Parameters:
      `excludes` - array containing the exclude patterns.

  - ### setIncludesfile

    public void setIncludesfile(File incl) throws BuildException
    Set the `File` containing the includes patterns.
    Parameters:
      `incl` - `File` instance.
    Throws:
      `BuildException` - if there is a problem.

  - ### setExcludesfile

    public void setExcludesfile(File excl) throws BuildException
    Set the `File` containing the excludes patterns.
    Parameters:
      `excl` - `File` instance.
    Throws:
      `BuildException` - if there is a problem.

  - ### setDefaultexcludes

    public void setDefaultexcludes(boolean useDefaultExcludes)
    Set whether default exclusions should be used or not.
    Parameters:
      `useDefaultExcludes` - `boolean`.

  - ### getDefaultexcludes

    public boolean getDefaultexcludes()
    Get whether default exclusions should be used or not.
    Returns:
      the defaultexclusions value.

  - ### setCaseSensitive

    public void setCaseSensitive(boolean caseSensitive)
    Set case-sensitivity of the Files collection.
    Parameters:
      `caseSensitive` - `boolean`.

  - ### isCaseSensitive

    public boolean isCaseSensitive()
    Find out if this Files collection is case-sensitive.
    Returns:
      `boolean` indicating whether the Files collection is case-sensitive.

  - ### setFollowSymlinks

    public void setFollowSymlinks(boolean followSymlinks)
    Set whether or not symbolic links should be followed.
    Parameters:
      `followSymlinks` - whether or not symbolic links should be followed.

  - ### isFollowSymlinks

    public boolean isFollowSymlinks()
    Find out whether symbolic links should be followed.
    Returns:
      `boolean` indicating whether symbolic links should be followed.

  - ### iterator

    public Iterator<Resource> iterator()
    Fulfill the ResourceCollection contract.
    Specified by:
      `iterator` in interface `Iterable<Resource>`
    Returns:
      an Iterator of Resources.

  - ### size

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

  - ### hasPatterns

    public boolean hasPatterns()
    Find out whether this Files collection has patterns.
    Returns:
      whether any patterns are in this container.

  - ### appendSelector

    public void appendSelector(FileSelector selector)
    Add a new selector into this container.
    Specified by:
      `appendSelector` in interface `SelectorContainer`
    Overrides:
      `appendSelector` in class `AbstractSelectorContainer`
    Parameters:
      `selector` - the new `FileSelector` to add.

  - ### toString

    public String toString()
    Format this Files collection as a String.
    Overrides:
      `toString` in class `AbstractSelectorContainer`
    Returns:
      a descriptive `String`.

  - ### clone

    public Object clone()
    Create a deep clone of this instance, except for the nested selectors (the list of selectors is a shallow clone of this instance's list).
    Overrides:
      `clone` in class `AbstractSelectorContainer`
    Returns:
      a cloned Object.

  - ### mergeIncludes

    public String[] mergeIncludes(Project p)
    Get the merged include patterns for this Files collection.
    Parameters:
      `p` - Project instance.
    Returns:
      the include patterns of the default pattern set and all nested patternsets.

  - ### mergeExcludes

    public String[] mergeExcludes(Project p)
    Get the merged exclude patterns for this Files collection.
    Parameters:
      `p` - Project instance.
    Returns:
      the exclude patterns of the default pattern set and all nested patternsets.

  - ### mergePatterns

    public PatternSet mergePatterns(Project p)
    Get the merged patterns for this Files collection.
    Parameters:
      `p` - Project instance.
    Returns:
      the default patternset merged with the additional sets in a new PatternSet instance.

  - ### isFilesystemOnly

    public boolean isFilesystemOnly()
    Always returns true.
    Specified by:
      `isFilesystemOnly` in interface `ResourceCollection`
    Returns:
      true indicating that all elements of a Files collection will be FileResources.

  - ### getRef

    protected Files getRef()
    Perform the check for circular references and return the referenced Files collection.
    Returns:
      `FileCollection`.