
package de.ivu.elect.sitzberechnung.verteilung.saintelague;

import static java.util.Collections.emptyList;

import java.util.List;

import de.ivu.elect.sitzberechnung.verteilung.AbstractVerteilungErgebnis;
import de.ivu.elect.sitzberechnung.verteilung.VerteilungContext;

/**
 * Das Ergebnis einer Sitzverteilung nach Sainte-Laguë. Man erhält es nach Verteilung der Sitze. Durch eine evtl. spätere Verteilung nach Los (oder anderen Kriterien) werden nachträglich noch Sitze
 * vergeben und damit dieses Objekt modifiziert. Es enthält für jeden Teilnehmer an der Verteilung ein {@link AbstractSainteLagueTeilnehmerErgebnis}, das ebenfalls noch durch spätere Verteilung nach
 * Los (oder anderen Kriterien) modifiziert werden kann.
 */
public abstract class AbstractSainteLagueErgebnis<T extends AbstractSainteLagueTeilnehmerErgebnis> extends AbstractVerteilungErgebnis<T> {

  AbstractSainteLagueErgebnis(VerteilungContext context, List<T> teilnehmerErgebnisse) {
    this(context, teilnehmerErgebnisse, 0L, emptyList());
  }

  AbstractSainteLagueErgebnis(VerteilungContext context, List<T> teilnehmerErgebnisse, long anzahlSitzeZuVerlosen, List<T> teilnehmerErgebnisseImLosverfahren) {
    super(context, teilnehmerErgebnisse, anzahlSitzeZuVerlosen, teilnehmerErgebnisseImLosverfahren);
  }
}
