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

import javax.annotation.Nullable;

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.wahl.entity.Wahltermin;

@GroupedConversationScoped
@ConversationGroup(AbstractGebietSearchParameters.class)
public class GebietSearchParameters extends AbstractGebietSearchParameters {

  private static final long serialVersionUID = 1L;

  private Wahltermin wahltermin;

  private Wahl wahl;

  private Gebiet uebergeordnetesGebiet;

  public GebietSearchParameters() {
    super();
  }

  public Wahl getWahl() {
    return wahl;
  }

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

  public boolean hasWahl() {
    return getWahl() != null;
  }

  public boolean hasWahltermin() {
    return getWahltermin() != null;
  }

  public Wahltermin getWahltermin() {
    return wahltermin;
  }

  public void setWahltermin(@Nullable Wahltermin wahltermin) {
    this.wahltermin = wahltermin;
  }

  public boolean hasUebergeordnetesGebiet() {
    return getUebergeordnetesGebiet() != null;
  }

  public Gebiet getUebergeordnetesGebiet() {
    return uebergeordnetesGebiet;
  }

  public void setUebergeordnetesGebiet(Gebiet uebergeordnetesGebiet) {
    this.uebergeordnetesGebiet = uebergeordnetesGebiet;
  }
}
