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

import org.apache.deltaspike.core.api.scope.ConversationGroup;
import org.apache.deltaspike.core.api.scope.GroupedConversationScoped;

import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.business.wahlbeteiligung.entity.WahlbeteiligungVerlauf;
import de.ivu.elect.business.wahlbeteiligung.entity.WahlbeteiligungVerlaufGebiet;

@GroupedConversationScoped
@ConversationGroup(AbstractWahlbeteiligungVerlaufGebietSearchParameters.class)
public class WahlbeteiligungVerlaufGebietSearchParameters extends AbstractWahlbeteiligungVerlaufGebietSearchParameters {
  private static final long serialVersionUID = 1L;

  private WahlbeteiligungVerlaufGebiet wahlbeteiligungVerlaufGebiet;

  private Gebiet gebiet;

  private Wahl wahl;

  private boolean untergeordneteGebieteAnzeigen = false;

  public Wahl getWahl() {
    return wahl;
  }

  public void setWahl(Wahl wahl) {
    this.wahl = wahl;
  }

  public Gebiet getGebiet() {
    return gebiet;
  }

  public void setGebiet(Gebiet gebiet) {
    this.gebiet = gebiet;
  }

  public WahlbeteiligungVerlaufGebiet getWahlbeteiligungVerlaufGebiet() {
    if (wahlbeteiligungVerlaufGebiet == null) {
      wahlbeteiligungVerlaufGebiet = new WahlbeteiligungVerlaufGebiet();
      wahlbeteiligungVerlaufGebiet.setWahlbeteiligungVerlauf(new WahlbeteiligungVerlauf());
    }
    return wahlbeteiligungVerlaufGebiet;
  }

  public WahlbeteiligungVerlauf getWahlbeteiligungVerlauf() {
    return getWahlbeteiligungVerlaufGebiet().getWahlbeteiligungVerlauf();
  }

  public boolean isUntergeordneteGebieteAnzeigen() {
    return untergeordneteGebieteAnzeigen;
  }

  public void setUntergeordneteGebieteAnzeigen(boolean untergeordneteGebieteAnzeigen) {
    this.untergeordneteGebieteAnzeigen = untergeordneteGebieteAnzeigen;
  }

  @Override
  public void reset() {
    super.reset();
    wahlbeteiligungVerlaufGebiet = null;
    untergeordneteGebieteAnzeigen = false;
    gebiet = null;
    wahl = null;
  }
}
