## 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:
  java.lang.Cloneable, ResourceCollection, SelectorContainer

    public class Files

extends AbstractSelectorContainer
implements java.lang.Cloneable, 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
`` `Files()` Construct a new `Files` collection.
`protected` `Files(Files f)` Construct a new `Files` collection, shallowly cloned from the specified `Files`.

Method Summary
`void` `appendExcludes(java.lang.String[] excludes)` Append `excludes` to the current list of include patterns.
`void` `appendIncludes(java.lang.String[] includes)` Append `includes` to the current list of include patterns.
`void` `appendSelector(FileSelector selector)` Add a new selector into this container.
`java.lang.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.
`java.util.Iterator` `iterator()` Fulfill the ResourceCollection contract.
`java.lang.String[]` `mergeExcludes(Project p)` Get the merged exclude patterns for this Files collection.
`java.lang.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(java.lang.String excludes)` Append `excludes` to the current list of exclude patterns.
`void` `setExcludesfile(java.io.File excl)` Set the `File` containing the excludes patterns.
`void` `setFollowSymlinks(boolean followSymlinks)` Set whether or not symbolic links should be followed.
`void` `setIncludes(java.lang.String includes)` Append `includes` to the current list of include patterns.
`void` `setIncludesfile(java.io.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.
`java.lang.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, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, getSelectors, hasSelectors, selectorCount, selectorElements, validate`

Methods inherited from class org.apache.tools.ant.types.DataType
`checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, 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`

Constructor Detail

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

### 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.NameEntry`.

### 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.NameEntry`.

### setIncludes

    public void setIncludes(java.lang.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(java.lang.String[] includes)

  Append `includes` to the current list of include patterns.

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

### setExcludes

    public void setExcludes(java.lang.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(java.lang.String[] excludes)

  Append `excludes` to the current list of include patterns.

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

### setIncludesfile

    public void setIncludesfile(java.io.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(java.io.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 java.util.Iterator iterator()

  Fulfill the ResourceCollection contract.

  Specified by:
    `iterator` in interface `ResourceCollection`
  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 java.lang.String toString()

  Format this Files collection as a String.

  Overrides:
    `toString` in class `AbstractSelectorContainer`
  Returns:
    a descriptive `String`.

### clone

    public java.lang.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 `DataType`
  Returns:
    a cloned Object.

### mergeIncludes

    public java.lang.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 java.lang.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`.