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
`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
`MatchingTask()`

### Method Summary

All Methods Instance Methods Concrete Methods
`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 or Windows junctions 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 Detail

#### fileset

    protected FileSet fileset

### Constructor Detail

#### MatchingTask

    public MatchingTask()

### Method Detail

#### 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 or Windows junctions should be followed.

Parameters:
  `followSymlinks` - whether or not symbolic links or Windows junctions 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