
package de.ivu.elect.sitzberechnung;

import java.math.BigDecimal;
import java.util.Collection;
import java.util.Optional;

import de.ivu.elect.sitzberechnung.konflikt.ErgebnisKonflikt;

public interface Sitzberechnungseingabe {

  Gebiet getWahlgebiet();

  long getAnzahlSitze(Gebiet gebiet);

  Optional<BigDecimal> getQuorumProzenthuerdeDezimal();

  Collection<Gebiet> getGebiete();

  Collection<Liste> getListen();

  long getAnzahlStimmen(Liste liste);

  Collection<Kandidatur> getDirektkandidaturen();

  Collection<Kandidatur> getListenkandidaturen();

  long getAnzahlStimmen(Kandidatur kandidatur);

  Collection<Minderheitengruppe> getMinderheitengruppen();

  long getAnzahlSitze(Minderheitengruppe minderheitengruppe);

  Collection<ErgebnisKonflikt> getKonflikte();

  SitzberechnungLokalisierung getSitzberechnungLokalisierung();
}
