
package de.ivu.elect.business.sitzberechnung.control.absolutemehrheitswahl;

import de.ivu.elect.business.sitzberechnung.control.wahlneutral.LosentscheidTyp;

public enum AbsoluteMehrheitswahlLosentscheidTyp implements LosentscheidTyp {

  /**
   * Erhalten mehr als zwei Personen die höchste Stimmenzahl, entscheidet das Los, wer von ihnen in die Stichwahl kommt.
   */
  STIMMENGLEICHHEIT_DER_ERSTPLATZIERTEN {

    @Override
    int getAnzahlZuLosen() {
      return 2;
    }
  },

  /**
   * Erhalten mehr als eine Person die zweithöchste Stimmenzahl, entscheidet das Los, wer von ihnen in die Stichwahl kommt.
   */
  STIMMENGLEICHHEIT_DER_ZWEITPLATZIERTEN {

    @Override
    int getAnzahlZuLosen() {
      return 1; // Eineindeutiger Erstplatzierter steht ja schon fest...
    }
  },

  ;

  AbsoluteMehrheitswahlLosentscheidTyp() {
  }

  abstract int getAnzahlZuLosen();
}
