Package 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:
  `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 org.apache.tools.ant.types.DataType

`checked, ref`

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

`description, location, project`

## 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 org.apache.tools.ant.types.DataType

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