PatternSet (Apache Ant API)
Date: 2018-07-10

org.apache.tools.ant.types

## Class PatternSet

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.types.DataType
    - - org.apache.tools.ant.types.PatternSet

- All Implemented Interfaces:
    java.lang.Cloneable

      public class PatternSet
      extends DataType
      implements java.lang.Cloneable

  Named collection of include/exclude tags.

  Moved out of MatchingTask to make it a standalone object that could be referenced (by scripts for example).

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PatternSet.NameEntry` inner class to hold a name on list.
    `class` | `PatternSet.PatternFileNameEntry` Adds encoding support to `PatternSet.NameEntry`.

  - ### 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
    Constructor and Description
    `PatternSet()` Creates a new `PatternSet` instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addConfiguredInvert(PatternSet p)` Add an inverted patternset.
    `void` | `addConfiguredPatternset(PatternSet p)` This is a patternset nested element.
    `void` | `append(PatternSet other, Project p)` Adds the patterns of the other instance to this set.
    `java.lang.Object` | `clone()`
    `PatternSet.NameEntry` | `createExclude()` add a name entry on the exclude list
    `PatternSet.NameEntry` | `createExcludesFile()` add a name entry on the exclude 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
    `java.lang.String[]` | `getExcludePatterns(Project p)` Returns the filtered include patterns.
    `java.lang.String[]` | `getIncludePatterns(Project p)` Returns the filtered include patterns.
    `boolean` | `hasPatterns(Project p)` Helper for FileSet classes.
    `void` | `setExcludes(java.lang.String excludes)` Appends `excludes` to the current list of exclude patterns.
    `void` | `setExcludesfile(java.io.File excludesFile)` Sets the name of the file containing the excludes patterns.
    `void` | `setIncludes(java.lang.String includes)` Appends `includes` to the current list of include patterns.
    `void` | `setIncludesfile(java.io.File includesFile)` Sets the name of the file containing the includes patterns.
    `void` | `setRefid(Reference r)` Makes this instance in effect a reference to another PatternSet instance.
    `java.lang.String` | `toString()` Basic DataType toString().

    - ### Methods inherited from class org.apache.tools.ant.types.DataType

      `checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, 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

    - #### PatternSet

          public PatternSet()

      Creates a new `PatternSet` instance.

  - ### Method Detail

    - #### setRefid

          public void setRefid(Reference r)
                        throws BuildException

      Makes this instance in effect a reference to another PatternSet 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 another patternset.
      Throws:
        `BuildException` - on error.

    - #### addConfiguredPatternset

          public void addConfiguredPatternset(PatternSet p)

      This is a patternset nested element.
      Parameters:
        `p` - a configured patternset nested element.

    - #### createInclude

          public PatternSet.NameEntry createInclude()

      add a name entry on the include list
      Returns:
        a nested include element to be configured.

    - #### createIncludesFile

          public PatternSet.NameEntry createIncludesFile()

      add a name entry on the include files list
      Returns:
        a nested includesfile element to be configured.

    - #### createExclude

          public PatternSet.NameEntry createExclude()

      add a name entry on the exclude list
      Returns:
        a nested exclude element to be configured.

    - #### createExcludesFile

          public PatternSet.NameEntry createExcludesFile()

      add a name entry on the exclude files list
      Returns:
        a nested excludesfile element to be configured.

    - #### setIncludes

          public void setIncludes(java.lang.String includes)

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

    - #### setExcludes

          public void setExcludes(java.lang.String excludes)

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

    - #### setIncludesfile

          public void setIncludesfile(java.io.File includesFile)
                               throws BuildException

      Sets the name of the file containing the includes patterns.
      Parameters:
        `includesFile` - The file to fetch the include patterns from.
      Throws:
        `BuildException` - on error.

    - #### setExcludesfile

          public void setExcludesfile(java.io.File excludesFile)
                               throws BuildException

      Sets the name of the file containing the excludes patterns.
      Parameters:
        `excludesFile` - The file to fetch the exclude patterns from.
      Throws:
        `BuildException` - on error.

    - #### append

          public void append(PatternSet other,
                             Project p)

      Adds the patterns of the other instance to this set.
      Parameters:
        `other` - the other PatternSet instance.
        `p` - the current project.

    - #### getIncludePatterns

          public java.lang.String[] getIncludePatterns(Project p)

      Returns the filtered include patterns.
      Parameters:
        `p` - the current project.
      Returns:
        the filtered included patterns.

    - #### getExcludePatterns

          public java.lang.String[] getExcludePatterns(Project p)

      Returns the filtered include patterns.
      Parameters:
        `p` - the current project.
      Returns:
        the filtered excluded patterns.

    - #### hasPatterns

          public boolean hasPatterns(Project p)

      Helper for FileSet classes. Check if there are patterns defined.
      Parameters:
        `p` - the current project.
      Returns:
        true if there are patterns.

    - #### toString

          public java.lang.String toString()

      Description copied from class: `DataType`
      Basic DataType toString().
      Overrides:
        `toString` in class `DataType`
      Returns:
        a printable form of this object.

    - #### clone

          public java.lang.Object clone()

      Overrides:
        `clone` in class `DataType`
      Returns:
        a clone of this patternset.
      Since:
        Ant 1.6

    - #### addConfiguredInvert

          public void addConfiguredInvert(PatternSet p)

      Add an inverted patternset.
      Parameters:
        `p` - the pattern to invert and add.