org.apache.tools.ant.types.selectors

Class DepthSelector

Implemented Interfaces:
ExtendFileSelector, FileSelector, Parameterizable

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

static String
MAX_KEY
Used for parameterized custom selector
static String
MIN_KEY
Used for parameterized custom selector
int
max
int
min

Fields inherited from class org.apache.tools.ant.types.selectors.BaseExtendSelector

parameters

Fields inherited from class org.apache.tools.ant.types.DataType

checked, description, ref

Fields inherited from class org.apache.tools.ant.ProjectComponent

project

Constructor Summary

DepthSelector()
Creates a new DepthSelector instance.

Method Summary

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()
void
verifySettings()
Checks to make sure all settings are kosher.

Methods inherited from class org.apache.tools.ant.types.selectors.BaseExtendSelector

getParameters, isSelected, setParameters

Methods inherited from class org.apache.tools.ant.types.selectors.BaseSelector

getError, isSelected, setError, validate, verifySettings

Methods inherited from class org.apache.tools.ant.types.DataType

checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, getCheckedRef, getDescription, getRefid, isChecked, isReference, noChildrenAllowed, setChecked, setDescription, setRefid, tooManyAttributes

Methods inherited from class org.apache.tools.ant.ProjectComponent

getProject, log, log, setProject

Field Details

MAX_KEY

public static final String MAX_KEY
Used for parameterized custom selector

MIN_KEY

public static final String MIN_KEY
Used for parameterized custom selector

max

public int max

min

public int min

Constructor Details

DepthSelector

public DepthSelector()
Creates a new DepthSelector instance.

Method Details

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
Overrides:
isSelected in interface 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

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

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

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 interface BaseExtendSelector
Parameters:
parameters - the complete set of parameters for this selector

toString

public String toString()
Returns:
a string describing this object

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 interface BaseSelector

Copyright B) 2000-2006 Apache Software Foundation. All Rights Reserved.