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

import de.ivu.elect.business.sitzberechnung.control.wahlneutral.AbstractDirektwahlSitzberechnungsalgorithmusInternal;
import de.ivu.elect.business.sitzberechnung.entity.SitzberechnungsalgorithmusKonfiguration;
import de.ivu.elect.business.sitzberechnung.entity.Sitzberechnungseingabe;

public abstract class AbstractStandardDirektwahlSitzberechnungsalgorithmusInternal extends AbstractDirektwahlSitzberechnungsalgorithmusInternal<SitzberechnungsalgorithmusKonfiguration> {

  private final boolean sitzeVergeben;

  protected AbstractStandardDirektwahlSitzberechnungsalgorithmusInternal(Sitzberechnungseingabe<SitzberechnungsalgorithmusKonfiguration> sitzberechnungseingabe, boolean sitzeVergeben) {
    super(sitzberechnungseingabe);

    this.sitzeVergeben = sitzeVergeben;
  }

  @Override
  public boolean isMitSitzeErzeugung() {
    return sitzeVergeben;
  }

  @Override
  protected Enum< ? > getLosentscheidTypFuerAuswahlKonflikt() {
    return StandardDirektwahlLosentscheidTyp.STIMMENGLEICHHEIT;
  }
}
