
package de.ivu.elect.interfaces.core.konfiguration;

import java.io.Serializable;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;

@XmlAccessorType(XmlAccessType.FIELD)
public class Wahlart implements Serializable {

  private static final long serialVersionUID = 1L;

  @XmlElement(required = true)
  private String name;

  @XmlElement(required = false)
  private String titel;

  @XmlElement(required = false) //  ELECTMUC-2113
  private String kurzname;

  @XmlElement(required = false) //  ELECTMUC-2113
  private String kennzeichen;

  @XmlElement(required = false) //  ELECTMUC-2113 eigentlich required aber Abwärtskopatibilität...
  private Long anzahlStimmzettel;

  @XmlElement(required = true)
  private CommonWahlart commonWahlart;

  @XmlElement(required = true)
  private String farbe;

  @XmlElement(required = true)
  private Boolean leereListenErlaubt;

  @XmlElement(required = false) // ELECT-14034
  private AnzahlErsatzkandidatenArt anzahlErsatzkandidatenArt = AnzahlErsatzkandidatenArt.FIX;

  @XmlElement(required = true)
  private Long anzahlErsatzkandidaten;

  @XmlElement(required = true)
  private Boolean gruppenreihenfolgeVorgegeben;

  @XmlElement(required = true)
  private Boolean gruppenvereinigungenErlaubt;

  @XmlElement(required = false)
  private Boolean listenverbindungenErlaubt;

  @XmlElement(required = true)
  private StimmenProWaehlerArt stimmenProWaehlerArt;

  @XmlElement(required = true)
  private Long anzahlStimmenProWaehler;

  @XmlElement(required = true)
  private Long maxAnzahlNennungen;

  @XmlElement(required = false)
  private UmgangAWerte umgangAPruefkennzeichenVorlaeufig = UmgangAWerte.NICHT_VORHANDEN;

  @XmlElement(required = false)
  private UmgangAWerte umgangAPruefkennzeichenEndgueltig = UmgangAWerte.NICHT_VORHANDEN;

  @XmlElement(required = true)
  private UmgangAWerte umgangA1Vorlaeufig;

  @XmlElement(required = true)
  private UmgangAWerte umgangA1Endgueltig;

  @XmlElement(required = true)
  private UmgangAWerte umgangA2Vorlaeufig;

  @XmlElement(required = true)
  private UmgangAWerte umgangA2Endgueltig;

  @XmlElement(required = true)
  private UmgangAWerte umgangA3Vorlaeufig;

  @XmlElement(required = true)
  private UmgangAWerte umgangA3Endgueltig;

  @XmlElement(required = true)
  private UmgangAWerte umgangAGesamtVorlaeufig;

  @XmlElement(required = true)
  private UmgangAWerte umgangAGesamtEndgueltig;

  @XmlElement(required = false)
  private UmgangBWerte umgangB1Vorlaeufig = UmgangBWerte.ERFASSEN;

  @XmlElement(required = false)
  private UmgangBWerte umgangB1Endgueltig = UmgangBWerte.ERFASSEN;

  @XmlElement(required = false)
  private UmgangBWerte umgangB2Vorlaeufig = UmgangBWerte.ERFASSEN;

  @XmlElement(required = false)
  private UmgangBWerte umgangB2Endgueltig = UmgangBWerte.ERFASSEN;

  @XmlElement(required = false)
  private UmgangBWerte umgangBGesamtVorlaeufig = UmgangBWerte.ERFASSEN;

  @XmlElement(required = false)
  private UmgangBWerte umgangBGesamtEndgueltig = UmgangBWerte.ERFASSEN;

  @XmlElement(required = false)
  private UmgangGueltigeWerte umgangGueltigeVorlaeufig = UmgangGueltigeWerte.ERFASSEN_ALS_STIMMEN;

  @XmlElement(required = false)
  private UmgangGueltigeWerte umgangGueltigeEndgueltig = UmgangGueltigeWerte.ERFASSEN_ALS_STIMMEN;

  @XmlElement(required = false)
  private UmgangGueltigeWerte umgangUngueltigeVorlaeufig = UmgangGueltigeWerte.ERFASSEN_ALS_STIMMEN;

  @XmlElement(required = false)
  private UmgangGueltigeWerte umgangUngueltigeEndgueltig = UmgangGueltigeWerte.ERFASSEN_ALS_STIMMEN;

  @XmlElement(required = false)
  private Zulassungspruefung zulassungspruefung = Zulassungspruefung.AKTIVIERT;

  @XmlElement(required = false) // Nicht benötigt wegen Abwärtskompatibilität
  private String dokumentvorlagen;

  @XmlElement(required = false) // Nicht benötigt wegen Abwärtskompatibilität
  private String sitzberechnungsalgorithmus;

  @XmlElement(required = false) // Nicht benötigt wegen Abwärtskompatibilität
  private String systemGebietsebene;

  @XmlElement(required = false) // Nicht benötigt wegen Abwärtskompatibilität
  private WahlberechtigungImAusland wahlberechtigungImAusland;

  @XmlElement(required = false)
  private String wahlbezeichnungLang;

  @XmlElement(required = false)
  private String wahlausschussbezeichnung;

  @XmlElement(required = false)
  private String zuWaehlendesGremium;

  @XmlElement(required = false) // Nicht benötigt wegen Abwärtskompatibilität
  private ErgebnisartUmschaltbar ergebnisartUmschaltbar;

  @XmlElement(required = false) // Nicht benötigt wegen Abwärtskompatibilität
  private WahlErgebniseingangUebernahmeArt ergebniseingangUebernahmeArt;

  @XmlElement(required = false) // Nicht benötigt wegen Abwärtskompatibilität
  private WahlErgebniseingangUebernahmeManuell ergebniseingangUebernahmeManuell;

  public Wahlart() {
    super();
  }

  public AnzahlErsatzkandidatenArt getAnzahlErsatzkandidatenArt() {
    return anzahlErsatzkandidatenArt;
  }

  public void setAnzahlErsatzkandidatenArt(AnzahlErsatzkandidatenArt anzahlErsatzkandidatenArt) {
    this.anzahlErsatzkandidatenArt = anzahlErsatzkandidatenArt;
  }

  public Long getAnzahlErsatzkandidaten() {
    return anzahlErsatzkandidaten;
  }

  public void setAnzahlErsatzkandidaten(Long anzahlErsatzkandidaten) {
    this.anzahlErsatzkandidaten = anzahlErsatzkandidaten;
  }

  public StimmenProWaehlerArt getStimmenProWaehlerArt() {
    return stimmenProWaehlerArt;
  }

  public void setStimmenProWaehlerArt(StimmenProWaehlerArt stimmenProWaehlerArt) {
    this.stimmenProWaehlerArt = stimmenProWaehlerArt;
  }

  public Long getAnzahlStimmenProWaehler() {
    return anzahlStimmenProWaehler;
  }

  public void setAnzahlStimmenProWaehler(Long anzahlStimmenProWaehler) {
    this.anzahlStimmenProWaehler = anzahlStimmenProWaehler;
  }

  public CommonWahlart getCommonWahlart() {
    return commonWahlart;
  }

  public void setCommonWahlart(CommonWahlart commonWahlart) {
    this.commonWahlart = commonWahlart;
  }

  public String getFarbe() {
    return farbe;
  }

  public void setFarbe(String farbe) {
    this.farbe = farbe;
  }

  public Boolean getGruppenreihenfolgeVorgegeben() {
    return gruppenreihenfolgeVorgegeben;
  }

  public void setGruppenreihenfolgeVorgegeben(Boolean gruppenreihenfolgeVorgegeben) {
    this.gruppenreihenfolgeVorgegeben = gruppenreihenfolgeVorgegeben;
  }

  public Boolean getLeereListenErlaubt() {
    return leereListenErlaubt;
  }

  public void setLeereListenErlaubt(Boolean leereListenErlaubt) {
    this.leereListenErlaubt = leereListenErlaubt;
  }

  public Long getMaxAnzahlNennungen() {
    return maxAnzahlNennungen;
  }

  public void setMaxAnzahlNennungen(Long maxAnzahlNennungen) {
    this.maxAnzahlNennungen = maxAnzahlNennungen;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public UmgangAWerte getUmgangAPruefkennzeichenVorlaeufig() {
    return umgangAPruefkennzeichenVorlaeufig;
  }

  public void setUmgangAPruefkennzeichenVorlaeufig(UmgangAWerte umgangAPruefkennzeichenVorlaeufig) {
    this.umgangAPruefkennzeichenVorlaeufig = umgangAPruefkennzeichenVorlaeufig;
  }

  public UmgangAWerte getUmgangAPruefkennzeichenEndgueltig() {
    return umgangAPruefkennzeichenEndgueltig;
  }

  public void setUmgangAPruefkennzeichenEndgueltig(UmgangAWerte umgangAPruefkennzeichenEndgueltig) {
    this.umgangAPruefkennzeichenEndgueltig = umgangAPruefkennzeichenEndgueltig;
  }

  public UmgangAWerte getUmgangA1Endgueltig() {
    return umgangA1Endgueltig;
  }

  public void setUmgangA1Endgueltig(UmgangAWerte umgangA1Endgueltig) {
    this.umgangA1Endgueltig = umgangA1Endgueltig;
  }

  public UmgangAWerte getUmgangA1Vorlaeufig() {
    return umgangA1Vorlaeufig;
  }

  public void setUmgangA1Vorlaeufig(UmgangAWerte umgangA1Vorlaeufig) {
    this.umgangA1Vorlaeufig = umgangA1Vorlaeufig;
  }

  public UmgangAWerte getUmgangA2Endgueltig() {
    return umgangA2Endgueltig;
  }

  public void setUmgangA2Endgueltig(UmgangAWerte umgangA2Endgueltig) {
    this.umgangA2Endgueltig = umgangA2Endgueltig;
  }

  public UmgangAWerte getUmgangA2Vorlaeufig() {
    return umgangA2Vorlaeufig;
  }

  public void setUmgangA2Vorlaeufig(UmgangAWerte umgangA2Vorlaeufig) {
    this.umgangA2Vorlaeufig = umgangA2Vorlaeufig;
  }

  public UmgangAWerte getUmgangA3Vorlaeufig() {
    return umgangA3Vorlaeufig;
  }

  public void setUmgangA3Vorlaeufig(UmgangAWerte umgangA3Vorlaeufig) {
    this.umgangA3Vorlaeufig = umgangA3Vorlaeufig;
  }

  public UmgangAWerte getUmgangA3Endgueltig() {
    return umgangA3Endgueltig;
  }

  public void setUmgangA3Endgueltig(UmgangAWerte umgangA3Endgueltig) {
    this.umgangA3Endgueltig = umgangA3Endgueltig;
  }

  public UmgangAWerte getUmgangAGesamtEndgueltig() {
    return umgangAGesamtEndgueltig;
  }

  public void setUmgangAGesamtEndgueltig(UmgangAWerte umgangAGesamtEndgueltig) {
    this.umgangAGesamtEndgueltig = umgangAGesamtEndgueltig;
  }

  public UmgangAWerte getUmgangAGesamtVorlaeufig() {
    return umgangAGesamtVorlaeufig;
  }

  public void setUmgangAGesamtVorlaeufig(UmgangAWerte umgangAGesamtVorlaeufig) {
    this.umgangAGesamtVorlaeufig = umgangAGesamtVorlaeufig;
  }

  public UmgangBWerte getUmgangB1Vorlaeufig() {
    return umgangB1Vorlaeufig;
  }

  public void setUmgangB1Vorlaeufig(UmgangBWerte umgangB1Vorlaeufig) {
    this.umgangB1Vorlaeufig = umgangB1Vorlaeufig;
  }

  public UmgangBWerte getUmgangB1Endgueltig() {
    return umgangB1Endgueltig;
  }

  public void setUmgangB1Endgueltig(UmgangBWerte umgangB1Endgueltig) {
    this.umgangB1Endgueltig = umgangB1Endgueltig;
  }

  public UmgangBWerte getUmgangB2Vorlaeufig() {
    return umgangB2Vorlaeufig;
  }

  public void setUmgangB2Vorlaeufig(UmgangBWerte umgangB2Vorlaeufig) {
    this.umgangB2Vorlaeufig = umgangB2Vorlaeufig;
  }

  public UmgangBWerte getUmgangB2Endgueltig() {
    return umgangB2Endgueltig;
  }

  public void setUmgangB2Endgueltig(UmgangBWerte umgangB2Endgueltig) {
    this.umgangB2Endgueltig = umgangB2Endgueltig;
  }

  public UmgangBWerte getUmgangBGesamtVorlaeufig() {
    return umgangBGesamtVorlaeufig;
  }

  public void setUmgangBGesamtVorlaeufig(UmgangBWerte umgangBGesamtVorlaeufig) {
    this.umgangBGesamtVorlaeufig = umgangBGesamtVorlaeufig;
  }

  public UmgangBWerte getUmgangBGesamtEndgueltig() {
    return umgangBGesamtEndgueltig;
  }

  public void setUmgangBGesamtEndgueltig(UmgangBWerte umgangBGesamtEndgueltig) {
    this.umgangBGesamtEndgueltig = umgangBGesamtEndgueltig;
  }

  public UmgangGueltigeWerte getUmgangGueltigeVorlaeufig() {
    return umgangGueltigeVorlaeufig;
  }

  public void setUmgangGueltigeVorlaeufig(UmgangGueltigeWerte umgangGueltigeVorlaeufig) {
    this.umgangGueltigeVorlaeufig = umgangGueltigeVorlaeufig;
  }

  public UmgangGueltigeWerte getUmgangGueltigeEndgueltig() {
    return umgangGueltigeEndgueltig;
  }

  public void setUmgangGueltigeEndgueltig(UmgangGueltigeWerte umgangGueltigeEndgueltig) {
    this.umgangGueltigeEndgueltig = umgangGueltigeEndgueltig;
  }

  public UmgangGueltigeWerte getUmgangUngueltigeVorlaeufig() {
    return umgangUngueltigeVorlaeufig;
  }

  public void setUmgangUngueltigeVorlaeufig(UmgangGueltigeWerte umgangUngueltigeVorlaeufig) {
    this.umgangUngueltigeVorlaeufig = umgangUngueltigeVorlaeufig;
  }

  public UmgangGueltigeWerte getUmgangUngueltigeEndgueltig() {
    return umgangUngueltigeEndgueltig;
  }

  public void setUmgangUngueltigeEndgueltig(UmgangGueltigeWerte umgangUngueltigeEndgueltig) {
    this.umgangUngueltigeEndgueltig = umgangUngueltigeEndgueltig;
  }

  public Boolean getGruppenvereinigungenErlaubt() {
    return gruppenvereinigungenErlaubt;
  }

  public void setGruppenvereinigungenErlaubt(Boolean gruppenvereinigungenErlaubt) {
    this.gruppenvereinigungenErlaubt = gruppenvereinigungenErlaubt;
  }

  public Boolean getListenverbindungenErlaubt() {
    return listenverbindungenErlaubt;
  }

  public void setListenverbindungenErlaubt(Boolean listenverbindungenErlaubt) {
    this.listenverbindungenErlaubt = listenverbindungenErlaubt;
  }

  public String getKurzname() {
    return kurzname;
  }

  public void setKurzname(String kurzname) {
    this.kurzname = kurzname;
  }

  public String getKennzeichen() {
    return kennzeichen;
  }

  public void setKennzeichen(String kennzeichen) {
    this.kennzeichen = kennzeichen;
  }

  public Long getAnzahlStimmzettel() {
    return anzahlStimmzettel;
  }

  public void setAnzahlStimmzettel(Long anzahlStimmzettel) {
    this.anzahlStimmzettel = anzahlStimmzettel;
  }

  public Zulassungspruefung getZulassungspruefung() {
    return zulassungspruefung;
  }

  public void setZulassungspruefung(Zulassungspruefung zulassungspruefung) {
    this.zulassungspruefung = zulassungspruefung;
  }

  public String getDokumentvorlagen() {
    return dokumentvorlagen;
  }

  public void setDokumentvorlagen(String dokumentvorlagen) {
    this.dokumentvorlagen = dokumentvorlagen;
  }

  public String getSitzberechnungsalgorithmus() {
    return sitzberechnungsalgorithmus;
  }

  public void setSitzberechnungsalgorithmus(String sitzberechnungsalgorithmus) {
    this.sitzberechnungsalgorithmus = sitzberechnungsalgorithmus;
  }

  public String getSystemGebietsebene() {
    return systemGebietsebene;
  }

  public void setSystemGebietsebene(String systemGebietsebene) {
    this.systemGebietsebene = systemGebietsebene;
  }

  public WahlberechtigungImAusland getWahlberechtigungImAusland() {
    return wahlberechtigungImAusland;
  }

  public void setWahlberechtigungImAusland(WahlberechtigungImAusland wahlberechtigungImAusland) {
    this.wahlberechtigungImAusland = wahlberechtigungImAusland;
  }

  public String getTitel() {
    return titel;
  }

  public void setTitel(String titel) {
    this.titel = titel;
  }

  public String getWahlbezeichnungLang() {
    return wahlbezeichnungLang;
  }

  public void setWahlbezeichnungLang(String wahlbezeichnungLang) {
    this.wahlbezeichnungLang = wahlbezeichnungLang;
  }

  public String getWahlausschussbezeichnung() {
    return wahlausschussbezeichnung;
  }

  public void setWahlausschussbezeichnung(String wahlausschussbezeichnung) {
    this.wahlausschussbezeichnung = wahlausschussbezeichnung;
  }

  public String getZuWaehlendesGremium() {
    return zuWaehlendesGremium;
  }

  public void setZuWaehlendesGremium(String zuWaehlendesGremium) {
    this.zuWaehlendesGremium = zuWaehlendesGremium;
  }

  public ErgebnisartUmschaltbar getErgebnisartUmschaltbar() {
    return ergebnisartUmschaltbar;
  }

  public void setErgebnisartUmschaltbar(ErgebnisartUmschaltbar ergebnisartUmschaltbar) {
    this.ergebnisartUmschaltbar = ergebnisartUmschaltbar;
  }

  public WahlErgebniseingangUebernahmeArt getErgebniseingangUebernahmeArt() {
    return ergebniseingangUebernahmeArt;
  }

  public void setErgebniseingangUebernahmeArt(WahlErgebniseingangUebernahmeArt ergebniseingangUebernahmeArt) {
    this.ergebniseingangUebernahmeArt = ergebniseingangUebernahmeArt;
  }

  public WahlErgebniseingangUebernahmeManuell getErgebniseingangUebernahmeManuell() {
    return ergebniseingangUebernahmeManuell;
  }

  public void setErgebniseingangUebernahmeManuell(WahlErgebniseingangUebernahmeManuell ergebniseingangUebernahmeManuell) {
    this.ergebniseingangUebernahmeManuell = ergebniseingangUebernahmeManuell;
  }
}
