org.apache.tools.ant.types.selectors

Class SelectSelector

Implemented Interfaces:
FileSelector, SelectorContainer

public class SelectSelector
extends BaseSelectorContainer

This selector just holds one other selector and forwards all requests to it. It exists so that there is a single selector type that can exist outside of any targets, as an element of project. It overrides all of the reference stuff so that it works as expected. Note that this is the only selector you can reference.
Since:
1.5

Field Summary

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

SelectSelector()
Default constructor.

Method Summary

void
appendSelector(FileSelector selector)
Add a new selector into this container.
FileSelector[]
getSelectors(Project p)
Returns the set of selectors as an array.
boolean
hasSelectors()
Indicates whether there are any selectors here.
boolean
isSelected(File basedir, String filename, File file)
Returns true (the file is selected) only if the if property (if any) exists, the unless property (if any) doesn't exist, and the contained selector (if any) selects the file.
boolean
passesConditions()
Ensures that the selector passes the conditions placed on it with if and unless.
int
selectorCount()
Gives the count of the number of selectors in this container
Enumeration
selectorElements()
Returns an enumerator for accessing the set of selectors.
void
setIf(String ifProperty)
Sets the if attribute to a property which must exist for the selector to select any files.
void
setUnless(String unlessProperty)
Sets the unless attribute to a property which cannot exist for the selector to select any files.
String
toString()
void
verifySettings()
Makes sure that there is only one entry, sets an error message if not.

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

add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, getSelectors, hasSelectors, isSelected, selectorCount, selectorElements, toString, validate

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

Constructor Details

SelectSelector

public SelectSelector()
Default constructor.

Method Details

appendSelector

public void appendSelector(FileSelector selector)
Add a new selector into this container.
Specified by:
appendSelector in interface SelectorContainer
Overrides:
appendSelector in interface BaseSelectorContainer
Parameters:
selector - the new selector to add

getSelectors

public FileSelector[] getSelectors(Project p)
Returns the set of selectors as an array.
Specified by:
getSelectors in interface SelectorContainer
Overrides:
getSelectors in interface BaseSelectorContainer
Parameters:
p - the current project
Returns:
an array of selectors in this container

hasSelectors

public boolean hasSelectors()
Indicates whether there are any selectors here.
Specified by:
hasSelectors in interface SelectorContainer
Overrides:
hasSelectors in interface BaseSelectorContainer
Returns:
whether any selectors are in this container

isSelected

public boolean isSelected(File basedir,
                          String filename,
                          File file)
Returns true (the file is selected) only if the if property (if any) exists, the unless property (if any) doesn't exist, and the contained selector (if any) selects the file. If there is no contained selector, return true (because we assume that the point was to test the if and unless conditions).
Specified by:
isSelected in interface FileSelector
Overrides:
isSelected in interface BaseSelectorContainer
Parameters:
basedir - the base directory the scan is being done from
filename - the name of the file to check
file - a java.io.File object for the filename that the selector can use
Returns:
whether the file should be selected or not

passesConditions

public boolean passesConditions()
Ensures that the selector passes the conditions placed on it with if and unless.
Returns:
true if conditions are passed

selectorCount

public int selectorCount()
Gives the count of the number of selectors in this container
Specified by:
selectorCount in interface SelectorContainer
Overrides:
selectorCount in interface BaseSelectorContainer
Returns:
the number of selectors in this container

selectorElements

public Enumeration selectorElements()
Returns an enumerator for accessing the set of selectors.
Specified by:
selectorElements in interface SelectorContainer
Overrides:
selectorElements in interface BaseSelectorContainer
Returns:
an enumerator that goes through each of the selectors

setIf

public void setIf(String ifProperty)
Sets the if attribute to a property which must exist for the selector to select any files.
Parameters:
ifProperty - the property to check

setUnless

public void setUnless(String unlessProperty)
Sets the unless attribute to a property which cannot exist for the selector to select any files.
Parameters:
unlessProperty - the property to check

toString

public String toString()
Overrides:
toString in interface BaseSelectorContainer
Returns:
a string describing this object

verifySettings

public void verifySettings()
Makes sure that there is only one entry, sets an error message if not.
Overrides:
verifySettings in interface BaseSelector

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