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