Class 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
    • Constructor Detail

      • MajoritySelector

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