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

# Class DepthSelector

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

All Implemented Interfaces:
  `Cloneable`, `Parameterizable`, `ResourceSelector`, `ExtendFileSelector`, `FileSelector`

public class DepthSelector extends BaseExtendSelector
Selector that filters files based on the how deep in the directory tree they are.

Since:
  1.5

## Field Summary

Fields
Modifier and Type
Field
Description
`int`
`max`
max attribute
`static final String`
`MAX_KEY`
Used for parameterized custom selector
`int`
`min`
min attribute
`static final String`
`MIN_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
`DepthSelector()`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`isSelected(File basedir, String filename, File file)`
The heart of the matter.
`void`
`setMax(int max)`
The minimum depth below the basedir before a file is selected.
`void`
`setMin(int min)`
The minimum depth below the basedir before a file is selected.
`void`
`setParameters(Parameter... parameters)`
When using this as a custom selector, this method will be called.
`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

### MIN_KEY

public static final String MIN_KEY
Used for parameterized custom selector

See Also:
  - Constant Field Values

### MAX_KEY

public static final String MAX_KEY
Used for parameterized custom selector

See Also:
  - Constant Field Values

### min

public int min
min attribute

### max

public int max
max attribute

## Constructor Details

### DepthSelector

public DepthSelector()

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

### setMin

public void setMin(int min)
The minimum depth below the basedir before a file is selected.

Parameters:
  `min` - minimum directory levels below basedir to go

### setMax

public void setMax(int max)
The minimum depth below the basedir before a file is selected.

Parameters:
  `max` - maximum directory levels below basedir to go

### 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 max depth is not lower than the min depth.

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