package de.ivu.elect.business.wahlbeteiligung.entity;

import java.io.Serializable;

public class WahlbeteiligungAuswertungWahllokalsystemCreateParameters implements Serializable {

  private static final long serialVersionUID = 1L;
  public static final boolean DEFAULR_ZUKUENFTIGE_WERTE_BERUECKSICHTIGEN = false;
  public static final long DEFAULT_MIXIMALE_ABWEICHUNG_IN_MINUTEN = 120L;


  private final String erfasser;

  private boolean neuereWerteBeruecksichtigen = DEFAULR_ZUKUENFTIGE_WERTE_BERUECKSICHTIGEN;

  private long maximaleAbweichungZurueckliegendeWerteInMinuten = DEFAULT_MIXIMALE_ABWEICHUNG_IN_MINUTEN;

  private long verzoegerungInMinutenBisUebernahme = 0;

  public long getVerzoegerungInMinutenBisUebernahme() {
    return verzoegerungInMinutenBisUebernahme;
  }

  public void setVerzoegerungInMinutenBisUebernahme(Long verzoegerungInMinutenBisUebernahme) {
    if (verzoegerungInMinutenBisUebernahme == null) {
      this.verzoegerungInMinutenBisUebernahme = 0;
    } else {
      this.verzoegerungInMinutenBisUebernahme = verzoegerungInMinutenBisUebernahme;
    }
  }

  public WahlbeteiligungAuswertungWahllokalsystemCreateParameters(String erfasser) {
    this.erfasser = erfasser;
  }

  public String getErfasser() {
    return erfasser;
  }

  public boolean isNeuereWerteBeruecksichtigen() {
    return neuereWerteBeruecksichtigen;
  }

  public void setNeuereWerteBeruecksichtigen(Boolean neuereWerteBeruecksichtigen) {
    if (neuereWerteBeruecksichtigen == null) {
      this.neuereWerteBeruecksichtigen = false;
    } else {
      this.neuereWerteBeruecksichtigen = neuereWerteBeruecksichtigen;
    }
  }

  public long getMaximaleAbweichungZurueckliegendeWerteInMinuten() {
    return maximaleAbweichungZurueckliegendeWerteInMinuten;
  }

  public void setMaximaleAbweichungZurueckliegendeWerteInMinuten(Long maximaleAbweichungZurueckliegendeWerteInMinuten) {
    if (maximaleAbweichungZurueckliegendeWerteInMinuten == null) {
      this.maximaleAbweichungZurueckliegendeWerteInMinuten = 0;
    } else {
      this.maximaleAbweichungZurueckliegendeWerteInMinuten = maximaleAbweichungZurueckliegendeWerteInMinuten;
    }
  }

  @Override
  public String toString() {
    return "WahlbeteiligungAuswertungWahllokalsystemCreateParameters{" +
        "erfasser='" + erfasser + '\'' +
        ", neuereWerteBeruecksichtigen=" + neuereWerteBeruecksichtigen +
        ", maximaleAbweichungZurueckliegendeWerteInMinuten=" + maximaleAbweichungZurueckliegendeWerteInMinuten +
        ", verzoegerungInMinutenBisUebernahme=" + verzoegerungInMinutenBisUebernahme +
        '}';
  }
}
