MajoritySelector (Apache Ant API)

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
Author:
Bruce Atherton

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)
           
 java.lang.String toString()
          Convert the Selectors within this container to a string.
 
Methods inherited from class org.apache.tools.ant.types.selectors.BaseSelectorContainer
addAnd, addContains, addCustom, addDate, addDepend, addDepth, addFilename, addMajority, addNone, addNot, addOr, addPresent, addSelector, addSize, 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
circularReference, dieOnCircularReference, getCheckedRef, getDescription, isReference, noChildrenAllowed, 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:
comma separated list of Selectors contained in this one

setAllowtie


public void setAllowtie(boolean tiebreaker)

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-2002 Apache Software Foundation. All Rights Reserved.