## 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, ExtendFileSelector, FileSelector

    public class FilenameSelector

extends BaseExtendSelector

Selector that filters files based on the filename.

Since:
  1.5

Field Summary
`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

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
`FilenameSelector()` Creates a new `FilenameSelector` instance.

Method Summary
`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.
`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, validate`

Methods inherited from class org.apache.tools.ant.types.DataType
`checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, 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`

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

Constructor Detail

### FilenameSelector

    public FilenameSelector()

  Creates a new `FilenameSelector` instance.

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.

### 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