
package de.ivu.elect.sitzberechnung.verteilung;

/**
 * Teilnehmer an einem Verfahren zur Sitzverteilung
 */
public interface Teilnehmer {

  long getStimmen();

  /**
   * @return Anzahl Sitze, die der Teilnehmer schon vor der betreffenden Sitzverteilung gewonnen hat und die ggf. dafür relevant sind. Wird z.B. bei der Fortsetzung einer D’Hondt-Verteilung verwendet.
   */
  default long getSitzeVorab() {
    return 0;
  }

  /**
   * @return Anzahl Sitze, die der Teilnehmer mindestens gewonnen hat. Führt zum Ausgleich der Mehrsitze bei den anderen Teilnehmern.
   */
  default long getMindestsitze() {
    return 0;
  }
}
