PatternSet (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.types, class: PatternSet

# 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:
  `Cloneable`

public class PatternSet extends DataType implements 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
  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 DataType

  `checked, ref`
  Modifier and Type
  Field
  Description
  `protected boolean`
  `checked`
  Deprecated.
  since 1.7.
  `protected Reference`
  `ref`
  Deprecated.
  since 1.7.

  ### Fields inherited from class ProjectComponent

  `description, location, project`
  Modifier and Type
  Field
  Description
  `protected String`
  `description`
  Deprecated.
  since 1.6.x.
  `protected Location`
  `location`
  Deprecated.
  since 1.6.x.
  `protected Project`
  `project`
  Deprecated.
  since 1.6.x.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PatternSet()`
  Creates a new `PatternSet` instance.

- ## Method Summary

  Modifier and Type
  Method
  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.
  `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
  `String[]`
  `getExcludePatterns(Project p)`
  Returns the filtered include patterns.
  `String[]`
  `getIncludePatterns(Project p)`
  Returns the filtered include patterns.
  `boolean`
  `hasPatterns(Project p)`
  Helper for FileSet classes.
  `void`
  `setExcludes(String excludes)`
  Appends `excludes` to the current list of exclude patterns.
  `void`
  `setExcludesfile(File excludesFile)`
  Sets the name of the file containing the excludes patterns.
  `void`
  `setIncludes(String includes)`
  Appends `includes` to the current list of include patterns.
  `void`
  `setIncludesfile(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.
  `String`
  `toString()`
  Basic DataType toString().

  ### Methods inherited from class DataType

  `checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes`
  Modifier and Type
  Method
  Description
  `protected void`
  `checkAttributesAllowed()`
  check that it is ok to set attributes, i.e that no reference is defined
  `protected void`
  `checkChildrenAllowed()`
  check that it is ok to add children, i.e that no reference is defined
  `protected BuildException`
  `circularReference()`
  Creates an exception that indicates the user has generated a loop of data types referencing each other.
  `protected void`
  `dieOnCircularReference()`
  Convenience method.
  `protected void`
  `dieOnCircularReference(Stack<Object> stack, Project project)`
  Check to see whether any DataType we hold references to is included in the Stack (which holds all DataType instances that directly or indirectly reference this instance, including this instance itself).
  `protected void`
  `dieOnCircularReference(Project p)`
  Convenience method.
  `protected <T> T`
  `getCheckedRef()`
  Deprecated.
  use getCheckedRef(Class)
  `protected <T> T`
  `getCheckedRef(Class<T> requiredClass)`
  Performs the check for circular references and returns the referenced object.
  `protected <T> T`
  `getCheckedRef(Class<T> requiredClass, String dataTypeName)`
  Performs the check for circular references and returns the referenced object.
  `protected <T> T`
  `getCheckedRef(Class<T> requiredClass, String dataTypeName, Project project)`
  Performs the check for circular references and returns the referenced object.
  `protected <T> T`
  `getCheckedRef(Project p)`
  Deprecated.
  use getCheckedRef(Class)
  `protected String`
  `getDataTypeName()`
  Gets as descriptive as possible a name used for this datatype instance.
  `Reference`
  `getRefid()`
  get the reference set on this object
  `static void`
  `invokeCircularReferenceCheck(DataType dt, Stack<Object> stk, Project p)`
  Allow DataTypes outside org.apache.tools.ant.types to indirectly call dieOnCircularReference on nested DataTypes.
  `protected boolean`
  `isChecked()`
  The flag that is used to indicate that circular references have been checked.
  `boolean`
  `isReference()`
  Has the refid attribute of this element been set?
  `protected BuildException`
  `noChildrenAllowed()`
  Creates an exception that indicates that this XML element must not have child elements if the refid attribute is set.
  `static void`
  `pushAndInvokeCircularReferenceCheck(DataType dt, Stack<Object> stk, Project p)`
  Allow DataTypes outside org.apache.tools.ant.types to indirectly call dieOnCircularReference on nested DataTypes.
  `protected void`
  `setChecked(boolean checked)`
  Set the flag that is used to indicate that circular references have been checked.
  `protected BuildException`
  `tooManyAttributes()`
  Creates an exception that indicates that refid has to be the only attribute if it is set.

  ### Methods inherited from class ProjectComponent

  `getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`
  Modifier and Type
  Method
  Description
  `String`
  `getDescription()`
  Returns the description of the current action.
  `Location`
  `getLocation()`
  Returns the file/location where this task was defined.
  `Project`
  `getProject()`
  Returns the project to which this component belongs.
  `void`
  `log(String msg)`
  Logs a message with the default (INFO) priority.
  `void`
  `log(String msg, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `setDescription(String desc)`
  Sets a description of the current action.
  `void`
  `setLocation(Location location)`
  Sets the file/location where this task was defined.
  `void`
  `setProject(Project project)`
  Sets the project object of this component.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### PatternSet

    public PatternSet()
    Creates a new `PatternSet` instance.

- ## Method Details

  - ### 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(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(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(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(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 String[] getIncludePatterns(Project p)
    Returns the filtered include patterns.
    Parameters:
      `p` - the current project.
    Returns:
      the filtered included patterns.

  - ### getExcludePatterns

    public 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 String toString()
    Description copied from class: `DataType`
    Basic DataType toString().
    Overrides:
      `toString` in class `DataType`
    Returns:
      a printable form of this object.

  - ### clone

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