Package org.apache.tools.ant.types.selectors

## Class FilenameSelector

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.types.DataType
    - - org.apache.tools.ant.types.selectors.BaseSelector
      - - org.apache.tools.ant.types.selectors.BaseExtendSelector
        - - org.apache.tools.ant.types.selectors.FilenameSelector

All Implemented Interfaces:
  `java.lang.Cloneable`, `Parameterizable`, `ResourceSelector`, `ExtendFileSelector`, `FileSelector`

    public class FilenameSelector
    extends BaseExtendSelector

Selector that filters files based on the filename.

Since:
  1.5

### Field Summary

Fields
`static java.lang.String` `CASE_KEY` Used for parameterized custom selector
`static java.lang.String` `NAME_KEY` Used for parameterized custom selector
`static java.lang.String` `NEGATE_KEY` Used for parameterized custom selector
`static java.lang.String` `REGEX_KEY` Used for parameterized custom selector

### Fields inherited from class org.apache.tools.ant.types.selectors.BaseExtendSelector

`parameters`

### 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
`FilenameSelector()`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `isSelected​(java.io.File basedir, java.lang.String filename, java.io.File file)` The heart of the matter.
`void` `setCasesensitive​(boolean casesensitive)` Whether to ignore case when checking filenames.
`void` `setName​(java.lang.String pattern)` The name of the file, or the pattern for the name, that should be used for selection.
`void` `setNegate​(boolean negated)` You can optionally reverse the selection of this selector, thereby emulating an <exclude> tag, by setting the attribute negate to true.
`void` `setParameters​(Parameter... parameters)` When using this as a custom selector, this method will be called.
`void` `setRegex​(java.lang.String pattern)` The regular expression the file name will be matched against.
`java.lang.String` `toString()` Basic DataType toString().
`void` `verifySettings()` Checks to make sure all settings are kosher.

### Methods inherited from class org.apache.tools.ant.types.selectors.BaseExtendSelector

`getParameters`

### Methods inherited from class org.apache.tools.ant.types.selectors.BaseSelector

`getError, setError, setError, validate`

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

`checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, 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`

### Methods inherited from interface org.apache.tools.ant.types.selectors.FileSelector

`isSelected`

### Field Detail

#### NAME_KEY

    public static final java.lang.String NAME_KEY

Used for parameterized custom selector

See Also:
  Constant Field Values

#### CASE_KEY

    public static final java.lang.String CASE_KEY

Used for parameterized custom selector

See Also:
  Constant Field Values

#### NEGATE_KEY

    public static final java.lang.String NEGATE_KEY

Used for parameterized custom selector

See Also:
  Constant Field Values

#### REGEX_KEY

    public static final java.lang.String REGEX_KEY

Used for parameterized custom selector

See Also:
  Constant Field Values

### Constructor Detail

#### FilenameSelector

    public FilenameSelector()

### Method Detail

#### toString

    public java.lang.String toString()

Description copied from class: `DataType`
Basic DataType toString().

Overrides:
  `toString` in class `DataType`
Returns:
  a string describing this object

#### setName

    public void setName​(java.lang.String pattern)

The name of the file, or the pattern for the name, that should be used for selection.

Parameters:
  `pattern` - the file pattern that any filename must match against in order to be selected.

#### setRegex

    public void setRegex​(java.lang.String pattern)

The regular expression the file name will be matched against.

Parameters:
  `pattern` - the regular expression that any filename must match against in order to be selected.

#### setCasesensitive

    public void setCasesensitive​(boolean casesensitive)

Whether to ignore case when checking filenames.

Parameters:
  `casesensitive` - whether to pay attention to case sensitivity

#### setNegate

    public void setNegate​(boolean negated)

You can optionally reverse the selection of this selector, thereby emulating an <exclude> tag, by setting the attribute negate to true. This is identical to surrounding the selector with <not></not>.

Parameters:
  `negated` - whether to negate this selection

#### setParameters

    public void setParameters​(Parameter... parameters)

When using this as a custom selector, this method will be called. It translates each parameter into the appropriate setXXX() call.

Specified by:
  `setParameters` in interface `Parameterizable`
Overrides:
  `setParameters` in class `BaseExtendSelector`
Parameters:
  `parameters` - the complete set of parameters for this selector

#### verifySettings

    public void verifySettings()

Checks to make sure all settings are kosher. In this case, it means that the name attribute has been set.

Overrides:
  `verifySettings` in class `BaseSelector`

#### isSelected

    public boolean isSelected​(java.io.File basedir,
                              java.lang.String filename,
                              java.io.File file)

The heart of the matter. This is where the selector gets to decide on the inclusion of a file in a particular fileset. Most of the work for this selector is offloaded into SelectorUtils, a static class that provides the same services for both FilenameSelector and DirectoryScanner.

Specified by:
  `isSelected` in interface `FileSelector`
Specified by:
  `isSelected` in class `BaseExtendSelector`
Parameters:
  `basedir` - the base directory the scan is being done from
  `filename` - is the name of the file to check
  `file` - is a java.io.File object the selector can use
Returns:
  whether the file should be selected or not