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

## Interface FileSelector

- All Superinterfaces:
    `ResourceSelector`
  All Known Subinterfaces:
    `ExtendFileSelector`
  All Known Implementing Classes:
    `AndSelector`, `BaseExtendSelector`, `BaseSelector`, `BaseSelectorContainer`, `ContainsRegexpSelector`, `ContainsSelector`, `DateSelector`, `DependSelector`, `DepthSelector`, `DifferentSelector`, `ExecutableSelector`, `ExtendSelector`, `FilenameSelector`, `MajoritySelector`, `MappingSelector`, `ModifiedSelector`, `NoneSelector`, `NotSelector`, `OrSelector`, `OwnedBySelector`, `PosixGroupSelector`, `PosixPermissionsSelector`, `PresentSelector`, `ReadableSelector`, `ScriptSelector`, `SelectSelector`, `SignedSelector`, `SizeSelector`, `SymlinkSelector`, `TypeSelector`, `WindowsJunctionSelector`, `WritableSelector`

      public interface FileSelector
      extends ResourceSelector

  This is the interface to be used by all selectors.
  Since:
    1.5

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `isSelected​(java.io.File basedir, java.lang.String filename, java.io.File file)` | Method that each selector will implement to create their selection behaviour.
    `default boolean` | `isSelected​(Resource r)` | Implement a basic `Resource` selection that delegates to this `FileSelector`.

- - ### Method Detail

    - #### isSelected

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

      Method that each selector will implement to create their selection behaviour. If there is a problem with the setup of a selector, it can throw a BuildException to indicate the problem.
      Parameters:
        `basedir` - A java.io.File object for the base directory
        `filename` - The name of the file to check
        `file` - A File object for this filename
      Returns:
        whether the file should be selected or not
      Throws:
        `BuildException` - if the selector was not configured correctly

    - #### isSelected

          default boolean isSelected​(Resource r)

      Implement a basic `Resource` selection that delegates to this `FileSelector`.
      Specified by:
        `isSelected` in interface `ResourceSelector`
      Parameters:
        `r` - resource
      Returns:
        whether the resource is selected