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

Fields
Modifier and Type | Field | Description
--- | --- | ---
`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

Constructors
Constructor | Description
--- | ---
`MappingSelector()` |

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`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, 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, 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`

### Methods inherited from interface org.apache.tools.ant.types.selectors.FileSelector

`isSelected`

## Field Details

### targetdir

protected java.io.File targetdir

### mapperElement

protected Mapper mapperElement

### map

protected FileNameMapper map

### granularity

protected int granularity

## Constructor Details

### MappingSelector

public MappingSelector()

## Method Details

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