org.apache.tools.ant.types.selectors
Class MajoritySelector
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.BaseSelectorContainer
org.apache.tools.ant.types.selectors.MajoritySelector
- All Implemented Interfaces:
- java.lang.Cloneable, FileSelector, SelectorContainer
public class MajoritySelector
- extends BaseSelectorContainer
This selector is here just to shake up your thinking a bit. Don't get
too caught up in boolean, there are other ways you can evaluate a
collection of selectors. This one takes a vote of the selectors it
contains, and majority wins. You could also have an "all-but-one"
selector, a "weighted-average" selector, and so on. These are left
as exercises for the reader (as are the usecases where this would
be necessary).
- Since:
- 1.5
Method Summary |
boolean |
isSelected(java.io.File basedir,
java.lang.String filename,
java.io.File file)
Returns true (the file is selected) if most of the other selectors
agree. |
void |
setAllowtie(boolean tiebreaker)
A attribute to specify what will happen if number
of yes votes is the same as the number of no votes
defaults to true |
java.lang.String |
toString()
Convert the Selectors within this container to a string. |
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, addReadable, addSelector, addSize, addType, addWritable, appendSelector, dieOnCircularReference, getSelectors, hasSelectors, selectorCount, selectorElements, validate |
Methods inherited from class org.apache.tools.ant.types.DataType |
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, tooManyAttributes |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
MajoritySelector
public MajoritySelector()
- Default constructor.
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
setAllowtie
public void setAllowtie(boolean tiebreaker)
- A attribute to specify what will happen if number
of yes votes is the same as the number of no votes
defaults to true
- Parameters:
tiebreaker
- the value to give if there is a tie
isSelected
public boolean isSelected(java.io.File basedir,
java.lang.String filename,
java.io.File file)
- Returns true (the file is selected) if most of the other selectors
agree. In case of a tie, go by the allowtie setting. That defaults
to true, meaning in case of a tie, the file is selected.
- Specified by:
isSelected
in interface FileSelector
- Specified by:
isSelected
in class BaseSelectorContainer
- Parameters:
basedir
- the base directory the scan is being done fromfilename
- is the name of the file to checkfile
- is a java.io.File object for the filename that the selector
can use
- Returns:
- whether the file should be selected or not