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

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:
  `Cloneable`, `Parameterizable`, `ResourceSelector`, `ExtendFileSelector`, `FileSelector`

public class FilenameSelector extends BaseExtendSelector
Selector that filters files based on the filename.

Since:
  1.5

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `CASE_KEY`
  Used for parameterized custom selector
  `static final String`
  `NAME_KEY`
  Used for parameterized custom selector
  `static final String`
  `NEGATE_KEY`
  Used for parameterized custom selector
  `static final 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
  Constructor
  Description
  `FilenameSelector()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `isSelected(File basedir, String filename, File file)`
  The heart of the matter.
  `void`
  `setCasesensitive(boolean casesensitive)`
  Whether to ignore case when checking filenames.
  `void`
  `setName(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(String pattern)`
  The regular expression the file name will be matched against.
  `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 Details

  - ### NAME_KEY

    public static final String NAME_KEY
    Used for parameterized custom selector
    See Also:
      - Constant Field Values

  - ### CASE_KEY

    public static final String CASE_KEY
    Used for parameterized custom selector
    See Also:
      - Constant Field Values

  - ### NEGATE_KEY

    public static final String NEGATE_KEY
    Used for parameterized custom selector
    See Also:
      - Constant Field Values

  - ### REGEX_KEY

    public static final String REGEX_KEY
    Used for parameterized custom selector
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### FilenameSelector

    public FilenameSelector()

- ## Method Details

  - ### toString

    public 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(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(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(File basedir, String filename, 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