package de.ivu.elect.dokumente;

import java.io.Serializable;

import de.ivu.document.generator.template.annotations.DocumentSimpleField;
import de.ivu.elect.business.system.entity.SystemGebietsebene;

/**
 * ELECT-9042
 */
public class SystemGebietsebeneDokument implements Serializable {
  private static final long serialVersionUID = 1L;

  @DocumentSimpleField("Name")
  public final String name;

  @DocumentSimpleField("IstUnbekannt")
  public final boolean isUnbekannt;

  @DocumentSimpleField("IstOhne")
  public final boolean isOhne;

  @DocumentSimpleField("IstBund")
  public final boolean isBund;

  @DocumentSimpleField("IstBundesland")
  public final boolean isBundesland;

  @DocumentSimpleField("IstLandkreis")
  public final boolean isLandkreis;

  @DocumentSimpleField("IstVerbandsgemeinde")
  public final boolean isVerbandsgemeinde;

  @DocumentSimpleField("IstGemeinde")
  public final boolean isGemeinde;

  @DocumentSimpleField("IstKreisfreieGemeinde")
  public final boolean isGemeindeKreisfrei;

  public SystemGebietsebeneDokument(BaseElectContext baseElectContext) {
    if (baseElectContext == null) {
      this.name = "";
      this.isUnbekannt = false;
      this.isOhne = false;
      this.isBund = false;
      this.isBundesland = false;
      this.isLandkreis = false;
      this.isVerbandsgemeinde = false;
      this.isGemeinde = false;
      this.isGemeindeKreisfrei = false;
    } else {
      SystemGebietsebene systemGebietsebene = baseElectContext.getSystemGebietsebene();
      this.name = baseElectContext.getMessage(systemGebietsebene);
      this.isUnbekannt = SystemGebietsebene.UNBEKANNT.equals(systemGebietsebene);
      this.isOhne = SystemGebietsebene.OHNE.equals(systemGebietsebene);
      this.isBund = SystemGebietsebene.BUND.equals(systemGebietsebene);
      this.isBundesland = SystemGebietsebene.BUNDESLAND.equals(systemGebietsebene);
      this.isLandkreis = SystemGebietsebene.LANDKREIS.equals(systemGebietsebene);
      this.isVerbandsgemeinde = SystemGebietsebene.VERBANDSGEMEINDE.equals(systemGebietsebene);
      this.isGemeinde = SystemGebietsebene.GEMEINDE.equals(systemGebietsebene);
      this.isGemeindeKreisfrei = SystemGebietsebene.GEMEINDE_KREISFREI.equals(systemGebietsebene);
    }
  }

}
