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

public class Wahlbeteiligungsgebiet {

  private final String gebietsnummer;
  private final String gebietsart;
  private final boolean isUrnenwahlgebiet;
  private final boolean isBriefwahlgebiet;
  private final boolean isErfassungsgebiet; // WICHTIGE ANNAHME: Ein Erfassungsgebiet darf keine untergeordnete Gebiete haben.
  private final boolean isWahlgebiet;

  public Wahlbeteiligungsgebiet(String gebietsnummer, String gebietsart, boolean isErfassungsgebiet, boolean isUrnenwahlgebiet, boolean isBriefwahlgebiet, boolean isWahlgebiet) {
    this.gebietsnummer = gebietsnummer;
    this.gebietsart = gebietsart;
    this.isErfassungsgebiet = isErfassungsgebiet;
    this.isUrnenwahlgebiet = isUrnenwahlgebiet;
    this.isBriefwahlgebiet = isBriefwahlgebiet;
    this.isWahlgebiet = isWahlgebiet;
  }

  public boolean isErfassungsgebiet() {
    return isErfassungsgebiet;
  }

  public boolean isUrnenwahlgebiet() {
    return isUrnenwahlgebiet;
  }

  public boolean isBriefwahlgebiet() {
    return isBriefwahlgebiet;
  }

  public boolean isWahlgebiet() {
    return isWahlgebiet;
  }

  @Override
  public String toString() {
    return "Wahlbeteiligungsgebiet{" +
        "gebietsnummer='" + gebietsnummer + '\'' +
        ", gebietsart='" + gebietsart + '\'' +
        ", isErfassungsgebiet=" + isErfassungsgebiet +
        ", isUrnenwahlgebiet=" + isUrnenwahlgebiet +
        ", isBriefwahlgebiet=" + isBriefwahlgebiet +
        ", isWahlgebiet=" + isWahlgebiet +
        '}';
  }
}