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

import de.ivu.elect.business.gebietsbaum.boundary.SearchParametersMitGebiet;
import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.wahl.entity.Wahl;

public abstract class AbstractPersonenKonfliktByGebietSearchParameters extends AbstractPersonenKonfliktSearchParameters
    implements
      SearchParametersMitGebiet {

  private static final long serialVersionUID = 1L;

  private Gebiet gebiet;

  private boolean includeUntergebiete;

  public AbstractPersonenKonfliktByGebietSearchParameters() {
    super();
  }

  public Wahl getWahl() {
    if (hasGebiet()) {
      return getGebiet().getWahl();
    }

    return null;
  }

  public boolean hasGebiet() {
    return getGebiet() != null;
  }

  @Override
  public Gebiet getGebiet() {
    return gebiet;
  }

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

  @Override
  public boolean isIncludeUntergebiete() {
    return includeUntergebiete;
  }

  @Override
  public void setIncludeUntergebiete(boolean includeUntergebiete) {
    this.includeUntergebiete = includeUntergebiete;
  }

  @Override
  public IncludeUntergebieteProperty getIncludeUntergebieteProperty() {
    return new IncludeUntergebieteProperty(this);
  }
}
