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`, `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
`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