org.apache.tools.ant.types.selectors
Class BaseExtendSelector

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by org.apache.tools.ant.types.selectors.BaseSelector
              extended by org.apache.tools.ant.types.selectors.BaseExtendSelector
All Implemented Interfaces:
java.lang.Cloneable, Parameterizable, ExtendFileSelector, FileSelector
Direct Known Subclasses:
ContainsRegexpSelector, ContainsSelector, DateSelector, DepthSelector, FilenameSelector, ModifiedSelector, SizeSelector, TypeSelector

public abstract class BaseExtendSelector
extends BaseSelector
implements ExtendFileSelector

Convenience base class for all selectors accessed through ExtendSelector. It provides support for gathering the parameters together as well as for assigning an error message and throwing a build exception if an error is detected.

Since:
1.5

Field Summary
protected  Parameter[] parameters
          The passed in parameter array.
 
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
BaseExtendSelector()
          Default constructor.
 
Method Summary
protected  Parameter[] getParameters()
          Allows access to the parameters gathered and set within the <custom> tag.
abstract  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.
 void setParameters(Parameter[] parameters)
          Set all the Parameters for this custom selector, collected by the ExtendSelector class.
 
Methods inherited from class org.apache.tools.ant.types.selectors.BaseSelector
getError, setError, validate, verifySettings
 
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, 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

parameters

protected Parameter[] parameters
The passed in parameter array.

Constructor Detail

BaseExtendSelector

public BaseExtendSelector()
Default constructor.

Method Detail

setParameters

public void setParameters(Parameter[] parameters)
Set all the Parameters for this custom selector, collected by the ExtendSelector class.

Specified by:
setParameters in interface Parameterizable
Parameters:
parameters - the complete set of parameters for this selector

getParameters

protected Parameter[] getParameters()
Allows access to the parameters gathered and set within the <custom> tag.

Returns:
the set of parameters defined for this selector

isSelected

public abstract 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.

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