## org.apache.tools.ant.types.selectors
Class MappingSelector

    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.MappingSelector

All Implemented Interfaces:
  java.lang.Cloneable, FileSelector

Direct Known Subclasses:
  DependSelector, DifferentSelector

    public abstract class MappingSelector

extends BaseSelector

A mapping selector is an abstract class adding mapping support to the base selector

Field Summary
`protected int` `granularity`
`protected FileNameMapper` `map`
`protected Mapper` `mapperElement`
`protected java.io.File` `targetdir`

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

Method Summary
`void` `addConfigured(FileNameMapper fileNameMapper)` Add a configured FileNameMapper instance.
`Mapper` `createMapper()` Defines the FileNameMapper to use (nested mapper element).
`boolean` `isSelected(java.io.File basedir, java.lang.String filename, java.io.File file)` The heart of the matter.
`protected abstract boolean` `selectionTest(java.io.File srcfile, java.io.File destfile)` this test is our selection test that compared the file with the destfile
`void` `setGranularity(int granularity)` Sets the number of milliseconds leeway we will give before we consider a file out of date.
`void` `setTargetdir(java.io.File targetdir)` The name of the file or directory which is checked for out-of-date files.
`void` `verifySettings()` Checks to make sure all settings are kosher.

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, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, tooManyAttributes, toString`

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

### targetdir

    protected java.io.File targetdir

### mapperElement

    protected Mapper mapperElement

### map

    protected FileNameMapper map

### granularity

    protected int granularity

Constructor Detail

### MappingSelector

    public MappingSelector()

  Creates a new `MappingSelector` instance.

Method Detail

### setTargetdir

    public void setTargetdir(java.io.File targetdir)

  The name of the file or directory which is checked for out-of-date files.

  Parameters:
    `targetdir` - the directory to scan looking for files.

### createMapper

    public Mapper createMapper()
                        throws BuildException

  Defines the FileNameMapper to use (nested mapper element).

  Returns:
    a mapper to be configured
  Throws:
    `BuildException` - if more than one mapper defined

### addConfigured

    public void addConfigured(FileNameMapper fileNameMapper)

  Add a configured FileNameMapper instance.

  Parameters:
    `fileNameMapper` - the FileNameMapper to add
  Throws:
    `BuildException` - if more than one mapper defined
  Since:
    Ant 1.8.0

### verifySettings

    public void verifySettings()

  Checks to make sure all settings are kosher. In this case, it means that the dest attribute has been set and we have a mapper.

  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.

  Specified by:
    `isSelected` in interface `FileSelector`
  Specified by:
    `isSelected` in class `BaseSelector`
  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

### selectionTest

    protected abstract boolean selectionTest(java.io.File srcfile,
                                             java.io.File destfile)

  this test is our selection test that compared the file with the destfile

  Parameters:
    `srcfile` - file to test; may be null
    `destfile` - destination file
  Returns:
    true if source file compares with destination file

### setGranularity

    public void setGranularity(int granularity)

  Sets the number of milliseconds leeway we will give before we consider a file out of date. Defaults to 2000 on MS-DOS derivatives and 1000 on others.

  Parameters:
    `granularity` - the leeway in milliseconds