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

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 Pruefkriterium implements Serializable {

  private static final long serialVersionUID = 1L;

  @XmlElement(required = true)
  private PruefkriteriumReferenz pruefkriteriumReferenz;

  @XmlElement(required = false)
  private Long fristInTagenBisZurWahl;

  @XmlElement(required = true)
  private Boolean heilungsfaehig;

  @XmlElement(required = true)
  private Boolean kannIrrelevantSein;

  @XmlElement(required = false)
  private String kategorie;

  @XmlElement(required = true)
  private String kriteriumtext;

  @XmlElement(required = true)
  private Long position;

  @XmlElement(required = true)
  private PruefkriteriumBezug pruefkriteriumBezug;

  @XmlElement(required = false /*legacy*/)
  private PruefkriteriumGruppeArt pruefkriteriumGruppeArt;

  @XmlElement(required = true)
  private Boolean teilDerSofortpruefung;

  @XmlElement(required = false)
  private String textFuerProtokollErfuellt;

  @XmlElement(required = false)
  private String textFuerProtokollFrist;

  @XmlElement(required = false)
  private String textFuerProtokollNichtErfuellt;

  @XmlElement(required = false)
  private String unterkategorie;

  @XmlElement(required = true)
  private Boolean wahlrechtlichRelevant;

  // required=false nur für Abwärtskompatibilität
  @XmlElement(required = false)
  private WahlrechtspruefStatus initialerStatus;

  public Pruefkriterium() {
    super();
  }

  public PruefkriteriumReferenz getPruefkriteriumReferenz() {
    return pruefkriteriumReferenz;
  }

  public void setPruefkriteriumReferenz(PruefkriteriumReferenz pruefkriteriumReferenz) {
    this.pruefkriteriumReferenz = pruefkriteriumReferenz;
  }

  public Long getFristInTagenBisZurWahl() {
    return fristInTagenBisZurWahl;
  }

  public void setFristInTagenBisZurWahl(Long fristInTagenBisZurWahl) {
    this.fristInTagenBisZurWahl = fristInTagenBisZurWahl;
  }

  public Boolean getHeilungsfaehig() {
    return heilungsfaehig;
  }

  public void setHeilungsfaehig(Boolean heilungsfaehig) {
    this.heilungsfaehig = heilungsfaehig;
  }

  public Boolean getKannIrrelevantSein() {
    return kannIrrelevantSein;
  }

  public void setKannIrrelevantSein(Boolean kannIrrelevantSein) {
    this.kannIrrelevantSein = kannIrrelevantSein;
  }

  public String getKategorie() {
    return kategorie;
  }

  public void setKategorie(String kategorie) {
    this.kategorie = kategorie;
  }

  public String getKriteriumtext() {
    return kriteriumtext;
  }

  public void setKriteriumtext(String kriteriumtext) {
    this.kriteriumtext = kriteriumtext;
  }

  public Long getPosition() {
    return position;
  }

  public void setPosition(Long position) {
    this.position = position;
  }

  public PruefkriteriumBezug getPruefkriteriumBezug() {
    return pruefkriteriumBezug;
  }

  public void setPruefkriteriumBezug(PruefkriteriumBezug pruefkriteriumBezug) {
    this.pruefkriteriumBezug = pruefkriteriumBezug;
  }

  public Boolean getTeilDerSofortpruefung() {
    return teilDerSofortpruefung;
  }

  public void setTeilDerSofortpruefung(Boolean teilDerSofortpruefung) {
    this.teilDerSofortpruefung = teilDerSofortpruefung;
  }

  public String getTextFuerProtokollErfuellt() {
    return textFuerProtokollErfuellt;
  }

  public void setTextFuerProtokollErfuellt(String textFuerProtokollErfuellt) {
    this.textFuerProtokollErfuellt = textFuerProtokollErfuellt;
  }

  public String getTextFuerProtokollFrist() {
    return textFuerProtokollFrist;
  }

  public void setTextFuerProtokollFrist(String textFuerProtokollFrist) {
    this.textFuerProtokollFrist = textFuerProtokollFrist;
  }

  public String getTextFuerProtokollNichtErfuellt() {
    return textFuerProtokollNichtErfuellt;
  }

  public void setTextFuerProtokollNichtErfuellt(String textFuerProtokollNichtErfuellt) {
    this.textFuerProtokollNichtErfuellt = textFuerProtokollNichtErfuellt;
  }

  public String getUnterkategorie() {
    return unterkategorie;
  }

  public void setUnterkategorie(String unterkategorie) {
    this.unterkategorie = unterkategorie;
  }

  public Boolean getWahlrechtlichRelevant() {
    return wahlrechtlichRelevant;
  }

  public void setWahlrechtlichRelevant(Boolean wahlrechtlichRelevant) {
    this.wahlrechtlichRelevant = wahlrechtlichRelevant;
  }

  public PruefkriteriumGruppeArt getPruefkriteriumGruppeArt() {
    return pruefkriteriumGruppeArt;
  }

  public void setPruefkriteriumGruppeArt(PruefkriteriumGruppeArt pruefkriteriumGruppeArt) {
    this.pruefkriteriumGruppeArt = pruefkriteriumGruppeArt;
  }

  public WahlrechtspruefStatus getInitialerStatus() {
    return initialerStatus;
  }

  public void setInitialerStatus(WahlrechtspruefStatus initialerStatus) {
    this.initialerStatus = initialerStatus;
  }
}
