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