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
,ResourceSelector
,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
-
-
Field Summary
-
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
-
Constructor Summary
Constructors Constructor Description MajoritySelector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 truejava.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, addExecutable, addFilename, addMajority, addModified, addNone, addNot, addOr, addOwnedBy, addPosixGroup, addPosixPermissions, addPresent, addReadable, addSelector, addSize, addSymlink, addType, addWritable, appendSelector, dieOnCircularReference, getSelectors, hasSelectors, selectorCount, selectorElements, validate
-
Methods inherited from class org.apache.tools.ant.types.selectors.BaseSelector
getError, setError, setError, verifySettings
-
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, 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
-
Methods inherited from interface org.apache.tools.ant.types.selectors.FileSelector
isSelected
-
-
-
-
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 classBaseSelectorContainer
- 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 interfaceFileSelector
- Specified by:
isSelected
in classBaseSelectorContainer
- 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
-
-