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

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.BaseSelectorContainer
                  extended by org.apache.tools.ant.types.selectors.SelectSelector
All Implemented Interfaces:
java.lang.Cloneable, 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, ref
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, 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(java.io.File basedir, java.lang.String filename, java.io.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
 java.util.Enumeration selectorElements()
          Returns an enumerator for accessing the set of selectors.
 void setIf(java.lang.String ifProperty)
          Sets the if attribute to a property which must exist for the selector to select any files.
 void setUnless(java.lang.String unlessProperty)
          Sets the unless attribute to a property which cannot exist for the selector to select any files.
 java.lang.String toString()
          Convert the Selectors within this container to a string.
 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, validate
 
Methods inherited from class org.apache.tools.ant.types.selectors.BaseSelector
getError, setError
 
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
 
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
 

Constructor Detail

SelectSelector

public SelectSelector()
Default constructor.

Method Detail

toString

public java.lang.String toString()
Description copied from class: BaseSelectorContainer
Convert the Selectors within this container to a string. This will just be a helper class for the subclasses that put their own name around the contents listed here.

Overrides:
toString in class BaseSelectorContainer
Returns:
a string describing this object

hasSelectors

public boolean hasSelectors()
Indicates whether there are any selectors here.

Specified by:
hasSelectors in interface SelectorContainer
Overrides:
hasSelectors in class BaseSelectorContainer
Returns:
whether any selectors are in this container

selectorCount

public int selectorCount()
Gives the count of the number of selectors in this container

Specified by:
selectorCount in interface SelectorContainer
Overrides:
selectorCount in class BaseSelectorContainer
Returns:
the number of selectors in this container

getSelectors

public FileSelector[] getSelectors(Project p)
Returns the set of selectors as an array.

Specified by:
getSelectors in interface SelectorContainer
Overrides:
getSelectors in class BaseSelectorContainer
Parameters:
p - the current project
Returns:
an array of selectors in this container

selectorElements

public java.util.Enumeration selectorElements()
Returns an enumerator for accessing the set of selectors.

Specified by:
selectorElements in interface SelectorContainer
Overrides:
selectorElements in class BaseSelectorContainer
Returns:
an enumerator that goes through each of the selectors

appendSelector

public void appendSelector(FileSelector selector)
Add a new selector into this container.

Specified by:
appendSelector in interface SelectorContainer
Overrides:
appendSelector in class BaseSelectorContainer
Parameters:
selector - the new selector to add

verifySettings

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

Overrides:
verifySettings in class BaseSelector

passesConditions

public boolean passesConditions()
Ensures that the selector passes the conditions placed on it with if and unless.

Returns:
true if conditions are passed

setIf

public void setIf(java.lang.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(java.lang.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

isSelected

public boolean isSelected(java.io.File basedir,
                          java.lang.String filename,
                          java.io.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
Specified by:
isSelected in class 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