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

### Method Summary

Methods
`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<Resource>` `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, addReadable, addSelector, addSize, 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, 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`

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

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