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:
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(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, addSelector, addSize, addType, appendSelector, getSelectors, hasSelectors, selectorCount, selectorElements, validate
 
Methods inherited from class org.apache.tools.ant.types.selectors.BaseSelector
getError, setError, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MajoritySelector

public MajoritySelector()
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

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 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


Copyright 2000-2005 Apache Software Foundation. All Rights Reserved.