
package de.ivu.elect.dokumente.stimmzettel;

import de.ivu.elect.business.gebietsbaum.boundary.WahlverwaltungGebietInformation;
import de.ivu.elect.business.stimmzettel.entity.StimmzettelDaten;
import de.ivu.elect.business.wahl.entity.Wahl;

public abstract class AbstractStimmzettelByDokumentGeneratorDocumentMapperSupport<E> {

  protected AbstractStimmzettelByDokumentGeneratorDocumentMapperSupport() {
    super();
  }

  public abstract boolean isAcceptContext(Wahl wahl);

  public boolean isAcceptStimmzettelDaten(WahlverwaltungGebietInformation stimmzettelgebietInformation, StimmzettelDaten stimmzettelDaten) {
    return true; // To be overridden....
  }

  protected boolean isDirektwahl(Wahl wahl) {
    return wahl != null && wahl.isWahlMitDirektkandidatengebieten() && !wahl.isWahlMitListengebieten();
  }
}
