org.apache.tools.ant.types.selectors

Class MajoritySelector

Implemented Interfaces:
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.types.DataType

checked, description, ref

Fields inherited from class org.apache.tools.ant.ProjectComponent

project

Constructor Summary

MajoritySelector()
Default constructor.

Method Summary

boolean
isSelected(File basedir, String filename, 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
String
toString()

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

MajoritySelector

public MajoritySelector()
Default constructor.

Method Details

isSelected

public boolean isSelected(File basedir,
                          String filename,
                          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
Overrides:
isSelected in interface BaseSelectorContainer
Parameters:
basedir - the base directory the scan is being done from
filename - is the name of the file to check
file - is a java.io.File object for the filename that the selector can use
Returns:
whether the file should be selected or not

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

toString

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

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