Package org.apache.tools.ant.taskdefs

# Class MatchingTask

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.MatchingTask

All Implemented Interfaces:
  `java.lang.Cloneable`, `SelectorContainer`

Direct Known Subclasses:
  `Cab`, `Checksum`, `Copydir`, `Delete`, `Depend`, `DependSet`, `EjbJar`, `FixCRLF`, `Image`, `ImageIOTask`, `Javac`, `JlinkTask`, `JspC`, `Native2Ascii`, `NetRexxC`, `RenameExtensions`, `Replace`, `Rmic`, `Tar`, `Translate`, `WLJspc`, `XSLTProcess`, `Zip`

    public abstract class MatchingTask
    extends Task
    implements SelectorContainer

This is an abstract task that should be used by all those tasks that require to include or exclude files based on pattern matching.

Since:
  Ant 1.1

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`protected FileSet` | `fileset` |

### Fields inherited from class org.apache.tools.ant.Task

`target, taskName, taskType, wrapper`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`MatchingTask()` |

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`void` | `add​(FileSelector selector)` | add an arbitrary selector
`void` | `addAnd​(AndSelector selector)` | add an "And" selector entry on the selector list
`void` | `addContains​(ContainsSelector selector)` | add a contains selector entry on the selector list
`void` | `addContainsRegexp​(ContainsRegexpSelector selector)` | add a regular expression selector entry on the selector list
`void` | `addCustom​(ExtendSelector selector)` | add an extended selector entry on the selector list
`void` | `addDate​(DateSelector selector)` | add a selector date entry on the selector list
`void` | `addDepend​(DependSelector selector)` | add a depends selector entry on the selector list
`void` | `addDepth​(DepthSelector selector)` | add a depth selector entry on the selector list
`void` | `addDifferent​(DifferentSelector selector)` | add a type selector entry on the type list
`void` | `addFilename​(FilenameSelector selector)` | add a selector filename entry on the selector list
`void` | `addMajority​(MajoritySelector selector)` | add a majority selector entry on the selector list
`void` | `addModified​(ModifiedSelector selector)` | add the modified selector
`void` | `addNone​(NoneSelector selector)` | add a "None" selector entry on the selector list
`void` | `addNot​(NotSelector selector)` | add a "Not" selector entry on the selector list
`void` | `addOr​(OrSelector selector)` | add an "Or" selector entry on the selector list
`void` | `addPresent​(PresentSelector selector)` | add a present selector entry on the selector list
`void` | `addSelector​(SelectSelector selector)` | add a "Select" selector entry on the selector list
`void` | `addSize​(SizeSelector selector)` | add a selector size entry on the selector list
`void` | `addType​(TypeSelector selector)` | add a type selector entry on the type list
`void` | `appendSelector​(FileSelector selector)` | Add a new selector into this container.
`PatternSet.NameEntry` | `createExclude()` | add a name entry on the exclude list
`PatternSet.NameEntry` | `createExcludesFile()` | add a name entry on the include files list
`PatternSet.NameEntry` | `createInclude()` | add a name entry on the include list
`PatternSet.NameEntry` | `createIncludesFile()` | add a name entry on the include files list
`PatternSet` | `createPatternSet()` | add a set of patterns
`protected DirectoryScanner` | `getDirectoryScanner​(java.io.File baseDir)` | Returns the directory scanner needed to access the files to process.
`protected FileSet` | `getImplicitFileSet()` | Accessor for the implicit fileset.
`FileSelector[]` | `getSelectors​(Project p)` | Returns the set of selectors as an array.
`boolean` | `hasSelectors()` | Indicates whether there are any selectors here.
`int` | `selectorCount()` | Gives the count of the number of selectors in this container
`java.util.Enumeration<FileSelector>` | `selectorElements()` | Returns an enumerator for accessing the set of selectors.
`void` | `setCaseSensitive​(boolean isCaseSensitive)` | Sets case sensitivity of the file system
`void` | `setDefaultexcludes​(boolean useDefaultExcludes)` | Sets whether default exclusions should be used or not.
`void` | `setExcludes​(java.lang.String excludes)` | Sets the set of exclude patterns.
`void` | `setExcludesfile​(java.io.File excludesfile)` | Sets the name of the file containing the includes patterns.
`void` | `setFollowSymlinks​(boolean followSymlinks)` | Sets whether or not symbolic links should be followed.
`void` | `setIncludes​(java.lang.String includes)` | Sets the set of include patterns.
`void` | `setIncludesfile​(java.io.File includesfile)` | Sets the name of the file containing the includes patterns.
`void` | `setProject​(Project project)` | Sets the project object of this component.
`void` | `XsetIgnore​(java.lang.String ignoreString)` | List of filenames and directory names to not include.
`void` | `XsetItems​(java.lang.String itemString)` | Set this to be the items in the base directory that you want to be included.

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, execute, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

### Methods inherited from class org.apache.tools.ant.ProjectComponent

`clone, getDescription, getLocation, getProject, setDescription, setLocation`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### fileset

protected FileSet fileset

## Constructor Details

### MatchingTask

public MatchingTask()

## Method Details

### setProject

public void setProject​(Project project)
Sets the project object of this component. This method is used by Project when a component is added to it so that the component has access to the functions of the project. It should not be used for any other purpose..

Overrides:
  `setProject` in class `ProjectComponent`
Parameters:
  `project` - Project in whose scope this component belongs. Must not be `null`.

### createInclude

public PatternSet.NameEntry createInclude()
add a name entry on the include list

Returns:
  a NameEntry object to be configured

### createIncludesFile

public PatternSet.NameEntry createIncludesFile()
add a name entry on the include files list

Returns:
  an PatternFileNameEntry object to be configured

### createExclude

public PatternSet.NameEntry createExclude()
add a name entry on the exclude list

Returns:
  an NameEntry object to be configured

### createExcludesFile

public PatternSet.NameEntry createExcludesFile()
add a name entry on the include files list

Returns:
  an PatternFileNameEntry object to be configured

### createPatternSet

public PatternSet createPatternSet()
add a set of patterns

Returns:
  PatternSet object to be configured

### setIncludes

public void setIncludes​(java.lang.String includes)
Sets the set of include patterns. Patterns may be separated by a comma or a space.

Parameters:
  `includes` - the string containing the include patterns

### XsetItems

public void XsetItems​(java.lang.String itemString)
Set this to be the items in the base directory that you want to be included. You can also specify "*" for the items (ie: items="*") and it will include all the items in the base directory.

Parameters:
  `itemString` - the string containing the files to include.

### setExcludes

public void setExcludes​(java.lang.String excludes)
Sets the set of exclude patterns. Patterns may be separated by a comma or a space.

Parameters:
  `excludes` - the string containing the exclude patterns

### XsetIgnore

public void XsetIgnore​(java.lang.String ignoreString)
List of filenames and directory names to not include. They should be either comma or space separated. The ignored files will be logged.

Parameters:
  `ignoreString` - the string containing the files to ignore.

### setDefaultexcludes

public void setDefaultexcludes​(boolean useDefaultExcludes)
Sets whether default exclusions should be used or not.

Parameters:
  `useDefaultExcludes` - "true"|"on"|"yes" when default exclusions should be used, "false"|"off"|"no" when they shouldn't be used.

### getDirectoryScanner

protected DirectoryScanner getDirectoryScanner​(java.io.File baseDir)
Returns the directory scanner needed to access the files to process.

Parameters:
  `baseDir` - the base directory to use with the fileset
Returns:
  a directory scanner

### setIncludesfile

public void setIncludesfile​(java.io.File includesfile)
Sets the name of the file containing the includes patterns.

Parameters:
  `includesfile` - A string containing the filename to fetch the include patterns from.

### setExcludesfile

public void setExcludesfile​(java.io.File excludesfile)
Sets the name of the file containing the includes patterns.

Parameters:
  `excludesfile` - A string containing the filename to fetch the include patterns from.

### setCaseSensitive

public void setCaseSensitive​(boolean isCaseSensitive)
Sets case sensitivity of the file system

Parameters:
  `isCaseSensitive` - "true"|"on"|"yes" if file system is case sensitive, "false"|"off"|"no" when not.

### setFollowSymlinks

public void setFollowSymlinks​(boolean followSymlinks)
Sets whether or not symbolic links should be followed.

Parameters:
  `followSymlinks` - whether or not symbolic links should be followed

### hasSelectors

public boolean hasSelectors()
Indicates whether there are any selectors here.

Specified by:
  `hasSelectors` in interface `SelectorContainer`
Returns:
  whether any selectors are in this container

### selectorCount

public int selectorCount()
Gives the count of the number of selectors in this container

Specified by:
  `selectorCount` in interface `SelectorContainer`
Returns:
  the number of selectors in this container

### getSelectors

public FileSelector[] getSelectors​(Project p)
Returns the set of selectors as an array.

Specified by:
  `getSelectors` in interface `SelectorContainer`
Parameters:
  `p` - the current project
Returns:
  an array of selectors in this container

### selectorElements

public java.util.Enumeration<FileSelector> selectorElements()
Returns an enumerator for accessing the set of selectors.

Specified by:
  `selectorElements` in interface `SelectorContainer`
Returns:
  an enumerator that goes through each of the selectors

### appendSelector

public void appendSelector​(FileSelector selector)
Add a new selector into this container.

Specified by:
  `appendSelector` in interface `SelectorContainer`
Parameters:
  `selector` - the new selector to add

### addSelector

public void addSelector​(SelectSelector selector)
add a "Select" selector entry on the selector list

Specified by:
  `addSelector` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addAnd

public void addAnd​(AndSelector selector)
add an "And" selector entry on the selector list

Specified by:
  `addAnd` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addOr

public void addOr​(OrSelector selector)
add an "Or" selector entry on the selector list

Specified by:
  `addOr` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addNot

public void addNot​(NotSelector selector)
add a "Not" selector entry on the selector list

Specified by:
  `addNot` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addNone

public void addNone​(NoneSelector selector)
add a "None" selector entry on the selector list

Specified by:
  `addNone` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addMajority

public void addMajority​(MajoritySelector selector)
add a majority selector entry on the selector list

Specified by:
  `addMajority` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addDate

public void addDate​(DateSelector selector)
add a selector date entry on the selector list

Specified by:
  `addDate` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addSize

public void addSize​(SizeSelector selector)
add a selector size entry on the selector list

Specified by:
  `addSize` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addFilename

public void addFilename​(FilenameSelector selector)
add a selector filename entry on the selector list

Specified by:
  `addFilename` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addCustom

public void addCustom​(ExtendSelector selector)
add an extended selector entry on the selector list

Specified by:
  `addCustom` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addContains

public void addContains​(ContainsSelector selector)
add a contains selector entry on the selector list

Specified by:
  `addContains` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addPresent

public void addPresent​(PresentSelector selector)
add a present selector entry on the selector list

Specified by:
  `addPresent` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addDepth

public void addDepth​(DepthSelector selector)
add a depth selector entry on the selector list

Specified by:
  `addDepth` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addDepend

public void addDepend​(DependSelector selector)
add a depends selector entry on the selector list

Specified by:
  `addDepend` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addContainsRegexp

public void addContainsRegexp​(ContainsRegexpSelector selector)
add a regular expression selector entry on the selector list

Specified by:
  `addContainsRegexp` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add

### addDifferent

public void addDifferent​(DifferentSelector selector)
add a type selector entry on the type list

Specified by:
  `addDifferent` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add
Since:
  ant 1.6

### addType

public void addType​(TypeSelector selector)
add a type selector entry on the type list

Specified by:
  `addType` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add
Since:
  ant 1.6

### addModified

public void addModified​(ModifiedSelector selector)
add the modified selector

Specified by:
  `addModified` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add
Since:
  ant 1.6

### add

public void add​(FileSelector selector)
add an arbitrary selector

Specified by:
  `add` in interface `SelectorContainer`
Parameters:
  `selector` - the selector to add
Since:
  Ant 1.6

### getImplicitFileSet

protected final FileSet getImplicitFileSet()
Accessor for the implicit fileset.

Returns:
  the implicit fileset
Since:
  Ant 1.5.2