MatchingTask (Apache Ant API)
Date: 2015-06-29

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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 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 NameEntry 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 NameEntry 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 , 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