/*
 * JPA entity template
 *
 *
 * Takatuka - Template fuer JPA2 Entitaeten (inklusive Bean Validation)
 *
 * Moeglichkeiten und Einschraenkungen:
 * - Beziehungen werden abgebildet
 * -- es gibt keine 1:1 Beziehungen
 * -- N:M Beziehungen sind immer bidirektional
 * - Vererbung wird nicht unterstuetzt
 * - Support für CustomData
 */
package de.ivu.elect.business.wahl.entity;

@javax.persistence.NamedQueries(
 {



       @javax.persistence.NamedQuery(
     name="WAHLART.UK",
     query="SELECT o FROM Wahlart o WHERE "

                         + "o"
                +".name"
              +" = ?1"

             +" AND "         + "o"
                +".mandant"
                +".nummer"
              +" = ?2"

     ,
   hints = {
              @javax.persistence.QueryHint(name = "org.hibernate.cacheable", value = "true"),
             @javax.persistence.QueryHint(name = "org.hibernate.flushMode", value = "commit")
   }


   )
   
     ,   @javax.persistence.NamedQuery(
     name="WAHLART.AllOrderByName",
     query="SELECT o FROM Wahlart o WHERE o.mandant=?1 ORDER BY o.name",
     hints = {@javax.persistence.QueryHint(name = "org.hibernate.cacheable", value = "true"),
                            @javax.persistence.QueryHint(name = "org.hibernate.flushMode", value = "commit")
             }
   )

        
         ,   @javax.persistence.NamedQuery(
     name="WAHLART.Name",
     query="SELECT o FROM Wahlart o WHERE o.mandant=?1 AND o.name=?2",
     hints = {@javax.persistence.QueryHint(name = "org.hibernate.cacheable", value = "true"),
                            @javax.persistence.QueryHint(name = "org.hibernate.flushMode", value = "commit")
             }
   )

        
     }
)
@javax.enterprise.inject.Vetoed
@javax.persistence.Entity
@javax.persistence.Table(name = "WAHLART")
// @javax.persistence.IdClass(WahlartPK.class)
    @javax.persistence.EntityListeners(de.ivu.elect.jee.protokollierung.ProtokollEntityListener.class)
    @javax.persistence.Cacheable

public
 class Wahlart
extends AbstractWahlart
  {

  private static final long serialVersionUID = 0L;


  /**
   * default constructor
   */
  public Wahlart() {
    super();
  }

    /**
     * @param original
     *
     * @deprecated Sollte nur mit Bedacht genutzt werden, da hier auch die Beziehungen kopiert werden. Deswegen markiert
     *             als Deprecated.
     */
    @Deprecated
    public Wahlart(Wahlart original){
      original.copyEntity(this);
    }

  /**
   * PRIMARY KEY
   */
  @javax.persistence.Id
  @javax.persistence.Column(name = "wahlart_id")
    @javax.persistence.GeneratedValue(strategy = javax.persistence.GenerationType.TABLE, generator = "Wahlart")
    @javax.persistence.TableGenerator(name = "Wahlart", table = "SEQUENCES", pkColumnName = "sequence_name", pkColumnValue = "Wahlart", valueColumnName = "next_val", allocationSize = 1000, initialValue = 0)
    protected java.lang.Long id;

  @Override
  public java.lang.Long getId() {
    return id;
  }

  public void setId(java.lang.Long id) {
    this.id = id;
  }

  @javax.persistence.Transient
  private transient WahlartPK pkCache;

  @Override
  public WahlartPK getPk() {
    if (pkCache==null || pkCache.getId() != id ) {
      pkCache = new WahlartPK(getId());
    }

    return pkCache;
  }

  public static <E extends Wahlart> java.util.Map<WahlartPK, E> mappeNachPk(java.util.Collection<E> entities){
    java.util.Map<WahlartPK, E> result = new java.util.HashMap<>();

    for (E entity : entities) {
      result.put(entity.getPk(), entity);
    }

    return result;
  }

  public static <E extends Wahlart> java.util.Map<Long, E> mappeNachId(java.util.Collection<E> entities){
    java.util.Map<Long, E> result = new java.util.HashMap<>();

    for (E entity : entities) {
      result.put(entity.getId(), entity);
    }

    return result;
  }



  /**
   * Indikator, ob sich ein Attribut oder eine UNIDIREKTIONALE n:1-Beziehungen geaendert hat
   */
  @javax.persistence.Transient
  protected boolean attributeChanged = false;

  public void setAttributeChanged() {
    attributeChanged = true;
  }

  public boolean isAttributeChanged() {
    return attributeChanged;
  }

  /**
   * Hilfsvariable fuer das Aktualisieren von Beziehungen
   */
  @javax.persistence.Transient
  protected boolean updateRelationship = false;



  public void resetAttributeChanged() {
        hasChangedMaxAnzahlErsatzkandidaturen = false;
          hasChangedAnzahlStimmenProWaehler = false;
          hasChangedAnzahlStimmzettel = false;
          hasChangedCommonWahlart = false;
          hasChangedDokumentvorlagen = false;
          hasChangedErfassungUebernahmeArt = false;
          hasChangedErfassungUebernahmeManuell = false;
          hasChangedErgebnisartUmschaltbar = false;
          hasChangedFarbe = false;
          hasChangedGruppenreihenfolgeVorgegeben = false;
          hasChangedGruppenvereinigungenErlaubt = false;
          hasChangedKennzeichen = false;
          hasChangedKurzname = false;
          hasChangedLeereListenErlaubt = false;
          hasChangedListenverbindungenErlaubt = false;
          hasChangedMaxAnzahlNennungen = false;
          hasChangedName = false;
          hasChangedSitzberechnungsalgorithmus = false;
          hasChangedAnzahlStimmenProWaehlerArt = false;
          hasChangedSystemGebietsebene = false;
          hasChangedTitel = false;
          hasChangedUmgangAOhneWahlscheinEndgueltig = false;
          hasChangedUmgangAOhneWahlscheinVorlaeufig = false;
          hasChangedUmgangAMitWahlscheinEndgueltig = false;
          hasChangedUmgangAMitWahlscheinVorlaeufig = false;
          hasChangedUmgangANichtImWaehlerverzeichnisEndgueltig = false;
          hasChangedUmgangANichtImWaehlerverzeichnisVorlaeufig = false;
          hasChangedUmgangAGesamtEndgueltig = false;
          hasChangedUmgangAGesamtVorlaeufig = false;
          hasChangedUmgangBOhneWahlscheinEndgueltig = false;
          hasChangedUmgangBOhneWahlscheinVorlaeufig = false;
          hasChangedUmgangBMitWahlscheinEndgueltig = false;
          hasChangedUmgangBMitWahlscheinVorlaeufig = false;
          hasChangedUmgangBGesamtEndgueltig = false;
          hasChangedUmgangBGesamtVorlaeufig = false;
          hasChangedUmgangGueltigeEndgueltig = false;
          hasChangedUmgangGueltigeVorlaeufig = false;
          hasChangedUmgangAPruefkennzeichenEndgueltig = false;
          hasChangedUmgangAPruefkennzeichenVorlaeufig = false;
          hasChangedUmgangUngueltigeEndgueltig = false;
          hasChangedUmgangUngueltigeVorlaeufig = false;
          hasChangedWahlausschussbezeichnung = false;
          hasChangedWahlberechtigungImAusland = false;
          hasChangedWahlbezeichnungLang = false;
          hasChangedZulassungspruefung = false;
          hasChangedZuWaehlendesGremium = false;
  
      hasChangedMandant = false;
  

                  hasChangedGebietsarteigenschaftsByWahlart = false;
              
    attributeChanged = false;
  }


  /**
   * ATTRIBUTE
   */

    
      @javax.persistence.Column(name = "ANZAHL_ERSATZKANDIDATEN", nullable = WahlartConstants.ANZAHL_ERSATZKANDIDATEN_NULLABLE, precision=WahlartConstants.ANZAHL_ERSATZKANDIDATEN_PRECISION, scale=WahlartConstants.ANZAHL_ERSATZKANDIDATEN_SCALE)
            
  protected java.lang.Long maxAnzahlErsatzkandidaturen =  Long.valueOf("0");

  @javax.persistence.Transient
  protected boolean hasChangedMaxAnzahlErsatzkandidaturen = false;

  public boolean hasChangedMaxAnzahlErsatzkandidaturen(){
    return hasChangedMaxAnzahlErsatzkandidaturen;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertMaxAnzahlErsatzkandidaturen = false;
     @javax.persistence.Transient
     private transient java.lang.Long wertNachLadenMaxAnzahlErsatzkandidaturen;
  
  /**
   * 
   *
   * getter for WAHLART.ANZAHL_ERSATZKANDIDATEN
   */
    @Override   public  java.lang.Long getMaxAnzahlErsatzkandidaturen() {
        return maxAnzahlErsatzkandidaturen;
      }

  /**
   * 
   *
   * setter for WAHLART.ANZAHL_ERSATZKANDIDATEN
   *
   * @param maxAnzahlErsatzkandidaturen
   */
  @Override   public void setMaxAnzahlErsatzkandidaturen( java.lang.Long maxAnzahlErsatzkandidaturen) {

       resetTkCache();
                  java.lang.Long maxAnzahlErsatzkandidaturenInternal = maxAnzahlErsatzkandidaturen;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.maxAnzahlErsatzkandidaturen
      , maxAnzahlErsatzkandidaturenInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedMaxAnzahlErsatzkandidaturen |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("maxAnzahlErsatzkandidaturen");
      }


             if (!isSeitLadenVeraendertMaxAnzahlErsatzkandidaturen) {
          isSeitLadenVeraendertMaxAnzahlErsatzkandidaturen = thisAttributChanged;
         if (isSeitLadenVeraendertMaxAnzahlErsatzkandidaturen){
           wertNachLadenMaxAnzahlErsatzkandidaturen=this.maxAnzahlErsatzkandidaturen;
         }
       }
      

       this.maxAnzahlErsatzkandidaturen = maxAnzahlErsatzkandidaturenInternal;

         }

        
      @javax.persistence.Column(name = "ANZAHL_STIMMEN_PRO_WAEHLER", nullable = WahlartConstants.ANZAHL_STIMMEN_PRO_WAEHLER_NULLABLE, precision=WahlartConstants.ANZAHL_STIMMEN_PRO_WAEHLER_PRECISION, scale=WahlartConstants.ANZAHL_STIMMEN_PRO_WAEHLER_SCALE)
            
  protected java.lang.Long anzahlStimmenProWaehler =  Long.valueOf("1");

  @javax.persistence.Transient
  protected boolean hasChangedAnzahlStimmenProWaehler = false;

  public boolean hasChangedAnzahlStimmenProWaehler(){
    return hasChangedAnzahlStimmenProWaehler;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertAnzahlStimmenProWaehler = false;
     @javax.persistence.Transient
     private transient java.lang.Long wertNachLadenAnzahlStimmenProWaehler;
  
  /**
   * 
   *
   * getter for WAHLART.ANZAHL_STIMMEN_PRO_WAEHLER
   */
    @Override   public  java.lang.Long getAnzahlStimmenProWaehler() {
        return anzahlStimmenProWaehler;
      }

  /**
   * 
   *
   * setter for WAHLART.ANZAHL_STIMMEN_PRO_WAEHLER
   *
   * @param anzahlStimmenProWaehler
   */
  @Override   public void setAnzahlStimmenProWaehler( java.lang.Long anzahlStimmenProWaehler) {

       resetTkCache();
                  java.lang.Long anzahlStimmenProWaehlerInternal = anzahlStimmenProWaehler;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.anzahlStimmenProWaehler
      , anzahlStimmenProWaehlerInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedAnzahlStimmenProWaehler |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("anzahlStimmenProWaehler");
      }


             if (!isSeitLadenVeraendertAnzahlStimmenProWaehler) {
          isSeitLadenVeraendertAnzahlStimmenProWaehler = thisAttributChanged;
         if (isSeitLadenVeraendertAnzahlStimmenProWaehler){
           wertNachLadenAnzahlStimmenProWaehler=this.anzahlStimmenProWaehler;
         }
       }
      

       this.anzahlStimmenProWaehler = anzahlStimmenProWaehlerInternal;

         }

        
      @javax.persistence.Column(name = "ANZAHL_STIMMZETTEL", nullable = WahlartConstants.ANZAHL_STIMMZETTEL_NULLABLE, precision=WahlartConstants.ANZAHL_STIMMZETTEL_PRECISION, scale=WahlartConstants.ANZAHL_STIMMZETTEL_SCALE)
            
  protected java.lang.Long anzahlStimmzettel =  Long.valueOf("1");

  @javax.persistence.Transient
  protected boolean hasChangedAnzahlStimmzettel = false;

  public boolean hasChangedAnzahlStimmzettel(){
    return hasChangedAnzahlStimmzettel;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertAnzahlStimmzettel = false;
     @javax.persistence.Transient
     private transient java.lang.Long wertNachLadenAnzahlStimmzettel;
  
  /**
   * 
   *
   * getter for WAHLART.ANZAHL_STIMMZETTEL
   */
    @Override   public  java.lang.Long getAnzahlStimmzettel() {
        return anzahlStimmzettel;
      }

  /**
   * 
   *
   * setter for WAHLART.ANZAHL_STIMMZETTEL
   *
   * @param anzahlStimmzettel
   */
  @Override   public void setAnzahlStimmzettel( java.lang.Long anzahlStimmzettel) {

       resetTkCache();
                  java.lang.Long anzahlStimmzettelInternal = anzahlStimmzettel;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.anzahlStimmzettel
      , anzahlStimmzettelInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedAnzahlStimmzettel |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("anzahlStimmzettel");
      }


             if (!isSeitLadenVeraendertAnzahlStimmzettel) {
          isSeitLadenVeraendertAnzahlStimmzettel = thisAttributChanged;
         if (isSeitLadenVeraendertAnzahlStimmzettel){
           wertNachLadenAnzahlStimmzettel=this.anzahlStimmzettel;
         }
       }
      

       this.anzahlStimmzettel = anzahlStimmzettelInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "COMMON_WAHLART", nullable = WahlartConstants.COMMON_WAHLART_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.CommonWahlart commonWahlart =  de.ivu.elect.business.wahl.entity.CommonWahlart.UNBEKANNT;

  @javax.persistence.Transient
  protected boolean hasChangedCommonWahlart = false;

  public boolean hasChangedCommonWahlart(){
    return hasChangedCommonWahlart;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertCommonWahlart = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.CommonWahlart wertNachLadenCommonWahlart;
  
  /**
   * 
   *
   * getter for WAHLART.COMMON_WAHLART
   */
    @Override   public  de.ivu.elect.business.wahl.entity.CommonWahlart getCommonWahlart() {
        return commonWahlart;
      }

  /**
   * 
   *
   * setter for WAHLART.COMMON_WAHLART
   *
   * @param commonWahlart
   */
  @Override   public void setCommonWahlart( de.ivu.elect.business.wahl.entity.CommonWahlart commonWahlart) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.CommonWahlart commonWahlartInternal = commonWahlart;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.commonWahlart
      , commonWahlartInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedCommonWahlart |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("commonWahlart");
      }


             if (!isSeitLadenVeraendertCommonWahlart) {
          isSeitLadenVeraendertCommonWahlart = thisAttributChanged;
         if (isSeitLadenVeraendertCommonWahlart){
           wertNachLadenCommonWahlart=this.commonWahlart;
         }
       }
      

       this.commonWahlart = commonWahlartInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "DOKUMENTVORLAGEN", nullable = WahlartConstants.DOKUMENTVORLAGEN_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.WahlartDokumentvorlagen dokumentvorlagen =  de.ivu.elect.business.wahl.entity.WahlartDokumentvorlagen.KEINE;

  @javax.persistence.Transient
  protected boolean hasChangedDokumentvorlagen = false;

  public boolean hasChangedDokumentvorlagen(){
    return hasChangedDokumentvorlagen;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertDokumentvorlagen = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.WahlartDokumentvorlagen wertNachLadenDokumentvorlagen;
  
  /**
   * 
   *
   * getter for WAHLART.DOKUMENTVORLAGEN
   */
    @Override   public  de.ivu.elect.business.wahl.entity.WahlartDokumentvorlagen getDokumentvorlagen() {
        return dokumentvorlagen;
      }

  /**
   * 
   *
   * setter for WAHLART.DOKUMENTVORLAGEN
   *
   * @param dokumentvorlagen
   */
  @Override   public void setDokumentvorlagen( de.ivu.elect.business.wahl.entity.WahlartDokumentvorlagen dokumentvorlagen) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.WahlartDokumentvorlagen dokumentvorlagenInternal = dokumentvorlagen;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.dokumentvorlagen
      , dokumentvorlagenInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedDokumentvorlagen |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("dokumentvorlagen");
      }


             if (!isSeitLadenVeraendertDokumentvorlagen) {
          isSeitLadenVeraendertDokumentvorlagen = thisAttributChanged;
         if (isSeitLadenVeraendertDokumentvorlagen){
           wertNachLadenDokumentvorlagen=this.dokumentvorlagen;
         }
       }
      

       this.dokumentvorlagen = dokumentvorlagenInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "ERFASSUNG_UEBERNAHME_ART", nullable = WahlartConstants.ERFASSUNG_UEBERNAHME_ART_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeArt erfassungUebernahmeArt =  de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeArt.UEBERNEHMEN_ERGEBNISEINGANGSFEHLERSTATUS_VALIDIEREN;

  @javax.persistence.Transient
  protected boolean hasChangedErfassungUebernahmeArt = false;

  public boolean hasChangedErfassungUebernahmeArt(){
    return hasChangedErfassungUebernahmeArt;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertErfassungUebernahmeArt = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeArt wertNachLadenErfassungUebernahmeArt;
  
  /**
   * 
   *
   * getter for WAHLART.ERFASSUNG_UEBERNAHME_ART
   */
    @Override   public  de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeArt getErfassungUebernahmeArt() {
        return erfassungUebernahmeArt;
      }

  /**
   * 
   *
   * setter for WAHLART.ERFASSUNG_UEBERNAHME_ART
   *
   * @param erfassungUebernahmeArt
   */
  @Override   public void setErfassungUebernahmeArt( de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeArt erfassungUebernahmeArt) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeArt erfassungUebernahmeArtInternal = erfassungUebernahmeArt;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.erfassungUebernahmeArt
      , erfassungUebernahmeArtInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedErfassungUebernahmeArt |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("erfassungUebernahmeArt");
      }


             if (!isSeitLadenVeraendertErfassungUebernahmeArt) {
          isSeitLadenVeraendertErfassungUebernahmeArt = thisAttributChanged;
         if (isSeitLadenVeraendertErfassungUebernahmeArt){
           wertNachLadenErfassungUebernahmeArt=this.erfassungUebernahmeArt;
         }
       }
      

       this.erfassungUebernahmeArt = erfassungUebernahmeArtInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "ERFASSUNG_UEBERNAHME_MANUELL", nullable = WahlartConstants.ERFASSUNG_UEBERNAHME_MANUELL_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeManuell erfassungUebernahmeManuell =  de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeManuell.ENDGUELTIG_VORBELEGEN_LETZTE_VORLAEUFIGE_WENN_GUELTIG;

  @javax.persistence.Transient
  protected boolean hasChangedErfassungUebernahmeManuell = false;

  public boolean hasChangedErfassungUebernahmeManuell(){
    return hasChangedErfassungUebernahmeManuell;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertErfassungUebernahmeManuell = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeManuell wertNachLadenErfassungUebernahmeManuell;
  
  /**
   * 
   *
   * getter for WAHLART.ERFASSUNG_UEBERNAHME_MANUELL
   */
    @Override   public  de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeManuell getErfassungUebernahmeManuell() {
        return erfassungUebernahmeManuell;
      }

  /**
   * 
   *
   * setter for WAHLART.ERFASSUNG_UEBERNAHME_MANUELL
   *
   * @param erfassungUebernahmeManuell
   */
  @Override   public void setErfassungUebernahmeManuell( de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeManuell erfassungUebernahmeManuell) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeManuell erfassungUebernahmeManuellInternal = erfassungUebernahmeManuell;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.erfassungUebernahmeManuell
      , erfassungUebernahmeManuellInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedErfassungUebernahmeManuell |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("erfassungUebernahmeManuell");
      }


             if (!isSeitLadenVeraendertErfassungUebernahmeManuell) {
          isSeitLadenVeraendertErfassungUebernahmeManuell = thisAttributChanged;
         if (isSeitLadenVeraendertErfassungUebernahmeManuell){
           wertNachLadenErfassungUebernahmeManuell=this.erfassungUebernahmeManuell;
         }
       }
      

       this.erfassungUebernahmeManuell = erfassungUebernahmeManuellInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "ERGEBNISART_UMSCHALTBAR", nullable = WahlartConstants.ERGEBNISART_UMSCHALTBAR_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.ErgebnisartUmschaltbar ergebnisartUmschaltbar =  de.ivu.elect.business.wahl.entity.ErgebnisartUmschaltbar.VORLAEUFIG_NACH_ENDGUELTIG_NACH_GUELTIGEM_EINGANG;

  @javax.persistence.Transient
  protected boolean hasChangedErgebnisartUmschaltbar = false;

  public boolean hasChangedErgebnisartUmschaltbar(){
    return hasChangedErgebnisartUmschaltbar;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertErgebnisartUmschaltbar = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.ErgebnisartUmschaltbar wertNachLadenErgebnisartUmschaltbar;
  
  /**
   * 
   *
   * getter for WAHLART.ERGEBNISART_UMSCHALTBAR
   */
    @Override   public  de.ivu.elect.business.wahl.entity.ErgebnisartUmschaltbar getErgebnisartUmschaltbar() {
        return ergebnisartUmschaltbar;
      }

  /**
   * 
   *
   * setter for WAHLART.ERGEBNISART_UMSCHALTBAR
   *
   * @param ergebnisartUmschaltbar
   */
  @Override   public void setErgebnisartUmschaltbar( de.ivu.elect.business.wahl.entity.ErgebnisartUmschaltbar ergebnisartUmschaltbar) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.ErgebnisartUmschaltbar ergebnisartUmschaltbarInternal = ergebnisartUmschaltbar;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.ergebnisartUmschaltbar
      , ergebnisartUmschaltbarInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedErgebnisartUmschaltbar |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("ergebnisartUmschaltbar");
      }


             if (!isSeitLadenVeraendertErgebnisartUmschaltbar) {
          isSeitLadenVeraendertErgebnisartUmschaltbar = thisAttributChanged;
         if (isSeitLadenVeraendertErgebnisartUmschaltbar){
           wertNachLadenErgebnisartUmschaltbar=this.ergebnisartUmschaltbar;
         }
       }
      

       this.ergebnisartUmschaltbar = ergebnisartUmschaltbarInternal;

         }

        
      @javax.persistence.Column(name = "FARBE", nullable = WahlartConstants.FARBE_NULLABLE, length=WahlartConstants.FARBE_MAX_LENGTH)
        
  protected java.lang.String farbe =  null;

  @javax.persistence.Transient
  protected boolean hasChangedFarbe = false;

  public boolean hasChangedFarbe(){
    return hasChangedFarbe;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertFarbe = false;
     @javax.persistence.Transient
     private transient java.lang.String wertNachLadenFarbe;
  
  /**
   * 
   *
   * getter for WAHLART.FARBE
   */
    @Override   public  java.lang.String getFarbe() {
        return farbe;
      }

  /**
   * 
   *
   * setter for WAHLART.FARBE
   *
   * @param farbe
   */
  @Override   public void setFarbe( java.lang.String farbe) {

       resetTkCache();
                  
                          java.lang.String farbeInternal = de.ivu.elect.jee.entity.EntityUtil.trimToNullOrMaxLength(farbe, WahlartConstants.FARBE_MAX_LENGTH, getId(), getClass());
                  
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.farbe
      , farbeInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedFarbe |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("farbe");
      }


             if (!isSeitLadenVeraendertFarbe) {
          isSeitLadenVeraendertFarbe = thisAttributChanged;
         if (isSeitLadenVeraendertFarbe){
           wertNachLadenFarbe=this.farbe;
         }
       }
      

       this.farbe = farbeInternal;

         }

        
      @javax.persistence.Column(name = "GRUPPENREIHENFOLGE_VORGEGEBEN", nullable = WahlartConstants.GRUPPENREIHENFOLGE_VORGEGEBEN_NULLABLE)
    
  protected java.lang.Boolean gruppenreihenfolgeVorgegeben =  false;

  @javax.persistence.Transient
  protected boolean hasChangedGruppenreihenfolgeVorgegeben = false;

  public boolean hasChangedGruppenreihenfolgeVorgegeben(){
    return hasChangedGruppenreihenfolgeVorgegeben;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertGruppenreihenfolgeVorgegeben = false;
     @javax.persistence.Transient
     private transient java.lang.Boolean wertNachLadenGruppenreihenfolgeVorgegeben;
  
  /**
   * 
   *
   * getter for WAHLART.GRUPPENREIHENFOLGE_VORGEGEBEN
   */
    @Override   public  java.lang.Boolean getGruppenreihenfolgeVorgegeben() {
        return gruppenreihenfolgeVorgegeben;
      }

  /**
   * 
   *
   * setter for WAHLART.GRUPPENREIHENFOLGE_VORGEGEBEN
   *
   * @param gruppenreihenfolgeVorgegeben
   */
  @Override   public void setGruppenreihenfolgeVorgegeben( java.lang.Boolean gruppenreihenfolgeVorgegeben) {

       resetTkCache();
                  java.lang.Boolean gruppenreihenfolgeVorgegebenInternal = gruppenreihenfolgeVorgegeben;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.gruppenreihenfolgeVorgegeben
      , gruppenreihenfolgeVorgegebenInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedGruppenreihenfolgeVorgegeben |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("gruppenreihenfolgeVorgegeben");
      }


             if (!isSeitLadenVeraendertGruppenreihenfolgeVorgegeben) {
          isSeitLadenVeraendertGruppenreihenfolgeVorgegeben = thisAttributChanged;
         if (isSeitLadenVeraendertGruppenreihenfolgeVorgegeben){
           wertNachLadenGruppenreihenfolgeVorgegeben=this.gruppenreihenfolgeVorgegeben;
         }
       }
      

       this.gruppenreihenfolgeVorgegeben = gruppenreihenfolgeVorgegebenInternal;

         }

        
      @javax.persistence.Column(name = "GRUPPENVEREINIGUNGEN_ERLAUBT", nullable = WahlartConstants.GRUPPENVEREINIGUNGEN_ERLAUBT_NULLABLE)
    
  protected java.lang.Boolean gruppenvereinigungenErlaubt =  false;

  @javax.persistence.Transient
  protected boolean hasChangedGruppenvereinigungenErlaubt = false;

  public boolean hasChangedGruppenvereinigungenErlaubt(){
    return hasChangedGruppenvereinigungenErlaubt;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertGruppenvereinigungenErlaubt = false;
     @javax.persistence.Transient
     private transient java.lang.Boolean wertNachLadenGruppenvereinigungenErlaubt;
  
  /**
   * 
   *
   * getter for WAHLART.GRUPPENVEREINIGUNGEN_ERLAUBT
   */
    @Override   public  java.lang.Boolean getGruppenvereinigungenErlaubt() {
        return gruppenvereinigungenErlaubt;
      }

  /**
   * 
   *
   * setter for WAHLART.GRUPPENVEREINIGUNGEN_ERLAUBT
   *
   * @param gruppenvereinigungenErlaubt
   */
  @Override   public void setGruppenvereinigungenErlaubt( java.lang.Boolean gruppenvereinigungenErlaubt) {

       resetTkCache();
                  java.lang.Boolean gruppenvereinigungenErlaubtInternal = gruppenvereinigungenErlaubt;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.gruppenvereinigungenErlaubt
      , gruppenvereinigungenErlaubtInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedGruppenvereinigungenErlaubt |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("gruppenvereinigungenErlaubt");
      }


             if (!isSeitLadenVeraendertGruppenvereinigungenErlaubt) {
          isSeitLadenVeraendertGruppenvereinigungenErlaubt = thisAttributChanged;
         if (isSeitLadenVeraendertGruppenvereinigungenErlaubt){
           wertNachLadenGruppenvereinigungenErlaubt=this.gruppenvereinigungenErlaubt;
         }
       }
      

       this.gruppenvereinigungenErlaubt = gruppenvereinigungenErlaubtInternal;

         }

        
  @javax.persistence.Column(name = "KENNZEICHEN", nullable = WahlartConstants.KENNZEICHEN_NULLABLE, length=WahlartConstants.KENNZEICHEN_MAX_LENGTH)
        
  protected java.lang.String kennzeichen =  null;

  @javax.persistence.Transient
  protected boolean hasChangedKennzeichen = false;

  public boolean hasChangedKennzeichen(){
    return hasChangedKennzeichen;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertKennzeichen = false;
     @javax.persistence.Transient
     private transient java.lang.String wertNachLadenKennzeichen;
  
  /**
   * 
   *
   * getter for WAHLART.KENNZEICHEN
   */
  @javax.annotation.Nullable   @Override   public  java.lang.String getKennzeichen() {
        return kennzeichen;
      }

  /**
   * 
   *
   * setter for WAHLART.KENNZEICHEN
   *
   * @param kennzeichen
   */
  @Override   public void setKennzeichen(@javax.annotation.Nullable  java.lang.String kennzeichen) {

       resetTkCache();
                  
                          java.lang.String kennzeichenInternal = de.ivu.elect.jee.entity.EntityUtil.trimToNullOrMaxLength(kennzeichen, WahlartConstants.KENNZEICHEN_MAX_LENGTH, getId(), getClass());
                  
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.kennzeichen
      , kennzeichenInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedKennzeichen |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("kennzeichen");
      }


             if (!isSeitLadenVeraendertKennzeichen) {
          isSeitLadenVeraendertKennzeichen = thisAttributChanged;
         if (isSeitLadenVeraendertKennzeichen){
           wertNachLadenKennzeichen=this.kennzeichen;
         }
       }
      

       this.kennzeichen = kennzeichenInternal;

         }

        
  @javax.persistence.Column(name = "KURZNAME", nullable = WahlartConstants.KURZNAME_NULLABLE, length=WahlartConstants.KURZNAME_MAX_LENGTH)
        
  protected java.lang.String kurzname =  null;

  @javax.persistence.Transient
  protected boolean hasChangedKurzname = false;

  public boolean hasChangedKurzname(){
    return hasChangedKurzname;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertKurzname = false;
     @javax.persistence.Transient
     private transient java.lang.String wertNachLadenKurzname;
  
  /**
   * 
   *
   * getter for WAHLART.KURZNAME
   */
  @javax.annotation.Nullable   @Override   public  java.lang.String getKurzname() {
        return kurzname;
      }

  /**
   * 
   *
   * setter for WAHLART.KURZNAME
   *
   * @param kurzname
   */
  @Override   public void setKurzname(@javax.annotation.Nullable  java.lang.String kurzname) {

       resetTkCache();
                  
                          java.lang.String kurznameInternal = de.ivu.elect.jee.entity.EntityUtil.trimToNullOrMaxLength(kurzname, WahlartConstants.KURZNAME_MAX_LENGTH, getId(), getClass());
                  
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.kurzname
      , kurznameInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedKurzname |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("kurzname");
      }


             if (!isSeitLadenVeraendertKurzname) {
          isSeitLadenVeraendertKurzname = thisAttributChanged;
         if (isSeitLadenVeraendertKurzname){
           wertNachLadenKurzname=this.kurzname;
         }
       }
      

       this.kurzname = kurznameInternal;

         }

        
      @javax.persistence.Column(name = "LEERE_LISTEN_ERLAUBT", nullable = WahlartConstants.LEERE_LISTEN_ERLAUBT_NULLABLE)
    
  protected java.lang.Boolean leereListenErlaubt =  false;

  @javax.persistence.Transient
  protected boolean hasChangedLeereListenErlaubt = false;

  public boolean hasChangedLeereListenErlaubt(){
    return hasChangedLeereListenErlaubt;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertLeereListenErlaubt = false;
     @javax.persistence.Transient
     private transient java.lang.Boolean wertNachLadenLeereListenErlaubt;
  
  /**
   * 
   *
   * getter for WAHLART.LEERE_LISTEN_ERLAUBT
   */
    @Override   public  java.lang.Boolean getLeereListenErlaubt() {
        return leereListenErlaubt;
      }

  /**
   * 
   *
   * setter for WAHLART.LEERE_LISTEN_ERLAUBT
   *
   * @param leereListenErlaubt
   */
  @Override   public void setLeereListenErlaubt( java.lang.Boolean leereListenErlaubt) {

       resetTkCache();
                  java.lang.Boolean leereListenErlaubtInternal = leereListenErlaubt;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.leereListenErlaubt
      , leereListenErlaubtInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedLeereListenErlaubt |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("leereListenErlaubt");
      }


             if (!isSeitLadenVeraendertLeereListenErlaubt) {
          isSeitLadenVeraendertLeereListenErlaubt = thisAttributChanged;
         if (isSeitLadenVeraendertLeereListenErlaubt){
           wertNachLadenLeereListenErlaubt=this.leereListenErlaubt;
         }
       }
      

       this.leereListenErlaubt = leereListenErlaubtInternal;

         }

        
      @javax.persistence.Column(name = "LISTENVERBINDUNGEN_ERLAUBT", nullable = WahlartConstants.LISTENVERBINDUNGEN_ERLAUBT_NULLABLE)
    
  protected java.lang.Boolean listenverbindungenErlaubt =  false;

  @javax.persistence.Transient
  protected boolean hasChangedListenverbindungenErlaubt = false;

  public boolean hasChangedListenverbindungenErlaubt(){
    return hasChangedListenverbindungenErlaubt;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertListenverbindungenErlaubt = false;
     @javax.persistence.Transient
     private transient java.lang.Boolean wertNachLadenListenverbindungenErlaubt;
  
  /**
   * 
   *
   * getter for WAHLART.LISTENVERBINDUNGEN_ERLAUBT
   */
    @Override   public  java.lang.Boolean getListenverbindungenErlaubt() {
        return listenverbindungenErlaubt;
      }

  /**
   * 
   *
   * setter for WAHLART.LISTENVERBINDUNGEN_ERLAUBT
   *
   * @param listenverbindungenErlaubt
   */
  @Override   public void setListenverbindungenErlaubt( java.lang.Boolean listenverbindungenErlaubt) {

       resetTkCache();
                  java.lang.Boolean listenverbindungenErlaubtInternal = listenverbindungenErlaubt;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.listenverbindungenErlaubt
      , listenverbindungenErlaubtInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedListenverbindungenErlaubt |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("listenverbindungenErlaubt");
      }


             if (!isSeitLadenVeraendertListenverbindungenErlaubt) {
          isSeitLadenVeraendertListenverbindungenErlaubt = thisAttributChanged;
         if (isSeitLadenVeraendertListenverbindungenErlaubt){
           wertNachLadenListenverbindungenErlaubt=this.listenverbindungenErlaubt;
         }
       }
      

       this.listenverbindungenErlaubt = listenverbindungenErlaubtInternal;

         }

        
      @javax.persistence.Column(name = "MAX_ANZAHL_NENNUNGEN", nullable = WahlartConstants.MAX_ANZAHL_NENNUNGEN_NULLABLE, precision=WahlartConstants.MAX_ANZAHL_NENNUNGEN_PRECISION, scale=WahlartConstants.MAX_ANZAHL_NENNUNGEN_SCALE)
            
  protected java.lang.Long maxAnzahlNennungen =  Long.valueOf("1");

  @javax.persistence.Transient
  protected boolean hasChangedMaxAnzahlNennungen = false;

  public boolean hasChangedMaxAnzahlNennungen(){
    return hasChangedMaxAnzahlNennungen;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertMaxAnzahlNennungen = false;
     @javax.persistence.Transient
     private transient java.lang.Long wertNachLadenMaxAnzahlNennungen;
  
  /**
   * 
   *
   * getter for WAHLART.MAX_ANZAHL_NENNUNGEN
   */
    @Override   public  java.lang.Long getMaxAnzahlNennungen() {
        return maxAnzahlNennungen;
      }

  /**
   * 
   *
   * setter for WAHLART.MAX_ANZAHL_NENNUNGEN
   *
   * @param maxAnzahlNennungen
   */
  @Override   public void setMaxAnzahlNennungen( java.lang.Long maxAnzahlNennungen) {

       resetTkCache();
                  java.lang.Long maxAnzahlNennungenInternal = maxAnzahlNennungen;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.maxAnzahlNennungen
      , maxAnzahlNennungenInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedMaxAnzahlNennungen |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("maxAnzahlNennungen");
      }


             if (!isSeitLadenVeraendertMaxAnzahlNennungen) {
          isSeitLadenVeraendertMaxAnzahlNennungen = thisAttributChanged;
         if (isSeitLadenVeraendertMaxAnzahlNennungen){
           wertNachLadenMaxAnzahlNennungen=this.maxAnzahlNennungen;
         }
       }
      

       this.maxAnzahlNennungen = maxAnzahlNennungenInternal;

         }

        
      @javax.persistence.Column(name = "NAME", nullable = WahlartConstants.NAME_NULLABLE, length=WahlartConstants.NAME_MAX_LENGTH)
        
  protected String name =  null;

  @javax.persistence.Transient
  protected boolean hasChangedName = false;

  public boolean hasChangedName(){
    return hasChangedName;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertName = false;
     @javax.persistence.Transient
     private transient String wertNachLadenName;
  
  /**
   * 
   *
   * getter for WAHLART.NAME
   */
    @Override   public  String getName() {
        return name;
      }

  /**
   * 
   *
   * setter for WAHLART.NAME
   *
   * @param name
   */
  @Override   public void setName( String name) {

       resetTkCache();
                  
                          String nameInternal = de.ivu.elect.jee.entity.EntityUtil.trimToNullOrMaxLength(name, WahlartConstants.NAME_MAX_LENGTH, getId(), getClass());
                  
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.name
      , nameInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedName |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("name");
      }


             if (!isSeitLadenVeraendertName) {
          isSeitLadenVeraendertName = thisAttributChanged;
         if (isSeitLadenVeraendertName){
           wertNachLadenName=this.name;
         }
       }
      

       this.name = nameInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "SITZBERECHNUNGSALGORITHMUS", nullable = WahlartConstants.SITZBERECHNUNGSALGORITHMUS_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus sitzberechnungsalgorithmus =  de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus.KEIN;

  @javax.persistence.Transient
  protected boolean hasChangedSitzberechnungsalgorithmus = false;

  public boolean hasChangedSitzberechnungsalgorithmus(){
    return hasChangedSitzberechnungsalgorithmus;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertSitzberechnungsalgorithmus = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus wertNachLadenSitzberechnungsalgorithmus;
  
  /**
   * 
   *
   * getter for WAHLART.SITZBERECHNUNGSALGORITHMUS
   */
    @Override   public  de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus getSitzberechnungsalgorithmus() {
        return sitzberechnungsalgorithmus;
      }

  /**
   * 
   *
   * setter for WAHLART.SITZBERECHNUNGSALGORITHMUS
   *
   * @param sitzberechnungsalgorithmus
   */
  @Override   public void setSitzberechnungsalgorithmus( de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus sitzberechnungsalgorithmus) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus sitzberechnungsalgorithmusInternal = sitzberechnungsalgorithmus;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.sitzberechnungsalgorithmus
      , sitzberechnungsalgorithmusInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedSitzberechnungsalgorithmus |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("sitzberechnungsalgorithmus");
      }


             if (!isSeitLadenVeraendertSitzberechnungsalgorithmus) {
          isSeitLadenVeraendertSitzberechnungsalgorithmus = thisAttributChanged;
         if (isSeitLadenVeraendertSitzberechnungsalgorithmus){
           wertNachLadenSitzberechnungsalgorithmus=this.sitzberechnungsalgorithmus;
         }
       }
      

       this.sitzberechnungsalgorithmus = sitzberechnungsalgorithmusInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "STIMMEN_PRO_WAEHLER_ART", nullable = WahlartConstants.STIMMEN_PRO_WAEHLER_ART_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.WahlartStimmenProWaehlerArt anzahlStimmenProWaehlerArt =  de.ivu.elect.business.wahl.entity.WahlartStimmenProWaehlerArt.FIX;

  @javax.persistence.Transient
  protected boolean hasChangedAnzahlStimmenProWaehlerArt = false;

  public boolean hasChangedAnzahlStimmenProWaehlerArt(){
    return hasChangedAnzahlStimmenProWaehlerArt;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertAnzahlStimmenProWaehlerArt = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.WahlartStimmenProWaehlerArt wertNachLadenAnzahlStimmenProWaehlerArt;
  
  /**
   * 
   *
   * getter for WAHLART.STIMMEN_PRO_WAEHLER_ART
   */
    @Override   public  de.ivu.elect.business.wahl.entity.WahlartStimmenProWaehlerArt getAnzahlStimmenProWaehlerArt() {
        return anzahlStimmenProWaehlerArt;
      }

  /**
   * 
   *
   * setter for WAHLART.STIMMEN_PRO_WAEHLER_ART
   *
   * @param anzahlStimmenProWaehlerArt
   */
  @Override   public void setAnzahlStimmenProWaehlerArt( de.ivu.elect.business.wahl.entity.WahlartStimmenProWaehlerArt anzahlStimmenProWaehlerArt) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.WahlartStimmenProWaehlerArt anzahlStimmenProWaehlerArtInternal = anzahlStimmenProWaehlerArt;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.anzahlStimmenProWaehlerArt
      , anzahlStimmenProWaehlerArtInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedAnzahlStimmenProWaehlerArt |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("anzahlStimmenProWaehlerArt");
      }


             if (!isSeitLadenVeraendertAnzahlStimmenProWaehlerArt) {
          isSeitLadenVeraendertAnzahlStimmenProWaehlerArt = thisAttributChanged;
         if (isSeitLadenVeraendertAnzahlStimmenProWaehlerArt){
           wertNachLadenAnzahlStimmenProWaehlerArt=this.anzahlStimmenProWaehlerArt;
         }
       }
      

       this.anzahlStimmenProWaehlerArt = anzahlStimmenProWaehlerArtInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "SYSTEM_GEBIETSEBENE", nullable = WahlartConstants.SYSTEM_GEBIETSEBENE_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.WahlartSystemGebietsebene systemGebietsebene =  de.ivu.elect.business.wahl.entity.WahlartSystemGebietsebene.OHNE;

  @javax.persistence.Transient
  protected boolean hasChangedSystemGebietsebene = false;

  public boolean hasChangedSystemGebietsebene(){
    return hasChangedSystemGebietsebene;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertSystemGebietsebene = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.WahlartSystemGebietsebene wertNachLadenSystemGebietsebene;
  
  /**
   * 
   *
   * getter for WAHLART.SYSTEM_GEBIETSEBENE
   */
    @Override   public  de.ivu.elect.business.wahl.entity.WahlartSystemGebietsebene getSystemGebietsebene() {
        return systemGebietsebene;
      }

  /**
   * 
   *
   * setter for WAHLART.SYSTEM_GEBIETSEBENE
   *
   * @param systemGebietsebene
   */
  @Override   public void setSystemGebietsebene( de.ivu.elect.business.wahl.entity.WahlartSystemGebietsebene systemGebietsebene) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.WahlartSystemGebietsebene systemGebietsebeneInternal = systemGebietsebene;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.systemGebietsebene
      , systemGebietsebeneInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedSystemGebietsebene |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("systemGebietsebene");
      }


             if (!isSeitLadenVeraendertSystemGebietsebene) {
          isSeitLadenVeraendertSystemGebietsebene = thisAttributChanged;
         if (isSeitLadenVeraendertSystemGebietsebene){
           wertNachLadenSystemGebietsebene=this.systemGebietsebene;
         }
       }
      

       this.systemGebietsebene = systemGebietsebeneInternal;

         }

        
  @javax.persistence.Column(name = "TITEL", nullable = WahlartConstants.TITEL_NULLABLE, length=WahlartConstants.TITEL_MAX_LENGTH)
        
  protected java.lang.String titel =  null;

  @javax.persistence.Transient
  protected boolean hasChangedTitel = false;

  public boolean hasChangedTitel(){
    return hasChangedTitel;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertTitel = false;
     @javax.persistence.Transient
     private transient java.lang.String wertNachLadenTitel;
  
  /**
   * 
   *
   * getter for WAHLART.TITEL
   */
  @javax.annotation.Nullable   @Override   public  java.lang.String getTitel() {
        return titel;
      }

  /**
   * 
   *
   * setter for WAHLART.TITEL
   *
   * @param titel
   */
  @Override   public void setTitel(@javax.annotation.Nullable  java.lang.String titel) {

       resetTkCache();
                  
                          java.lang.String titelInternal = de.ivu.elect.jee.entity.EntityUtil.trimToNullOrMaxLength(titel, WahlartConstants.TITEL_MAX_LENGTH, getId(), getClass());
                  
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.titel
      , titelInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedTitel |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("titel");
      }


             if (!isSeitLadenVeraendertTitel) {
          isSeitLadenVeraendertTitel = thisAttributChanged;
         if (isSeitLadenVeraendertTitel){
           wertNachLadenTitel=this.titel;
         }
       }
      

       this.titel = titelInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_A1_ENDGUELTIG", nullable = WahlartConstants.UMGANG_A1_ENDGUELTIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAOhneWahlscheinEndgueltig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangAOhneWahlscheinEndgueltig = false;

  public boolean hasChangedUmgangAOhneWahlscheinEndgueltig(){
    return hasChangedUmgangAOhneWahlscheinEndgueltig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangAOhneWahlscheinEndgueltig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangAWerte wertNachLadenUmgangAOhneWahlscheinEndgueltig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_A1_ENDGUELTIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangAWerte getUmgangAOhneWahlscheinEndgueltig() {
        return umgangAOhneWahlscheinEndgueltig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_A1_ENDGUELTIG
   *
   * @param umgangAOhneWahlscheinEndgueltig
   */
  @Override   public void setUmgangAOhneWahlscheinEndgueltig( de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAOhneWahlscheinEndgueltig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAOhneWahlscheinEndgueltigInternal = umgangAOhneWahlscheinEndgueltig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangAOhneWahlscheinEndgueltig
      , umgangAOhneWahlscheinEndgueltigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangAOhneWahlscheinEndgueltig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangAOhneWahlscheinEndgueltig");
      }


             if (!isSeitLadenVeraendertUmgangAOhneWahlscheinEndgueltig) {
          isSeitLadenVeraendertUmgangAOhneWahlscheinEndgueltig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangAOhneWahlscheinEndgueltig){
           wertNachLadenUmgangAOhneWahlscheinEndgueltig=this.umgangAOhneWahlscheinEndgueltig;
         }
       }
      

       this.umgangAOhneWahlscheinEndgueltig = umgangAOhneWahlscheinEndgueltigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_A1_VORLAEUFIG", nullable = WahlartConstants.UMGANG_A1_VORLAEUFIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAOhneWahlscheinVorlaeufig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangAOhneWahlscheinVorlaeufig = false;

  public boolean hasChangedUmgangAOhneWahlscheinVorlaeufig(){
    return hasChangedUmgangAOhneWahlscheinVorlaeufig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangAOhneWahlscheinVorlaeufig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangAWerte wertNachLadenUmgangAOhneWahlscheinVorlaeufig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_A1_VORLAEUFIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangAWerte getUmgangAOhneWahlscheinVorlaeufig() {
        return umgangAOhneWahlscheinVorlaeufig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_A1_VORLAEUFIG
   *
   * @param umgangAOhneWahlscheinVorlaeufig
   */
  @Override   public void setUmgangAOhneWahlscheinVorlaeufig( de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAOhneWahlscheinVorlaeufig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAOhneWahlscheinVorlaeufigInternal = umgangAOhneWahlscheinVorlaeufig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangAOhneWahlscheinVorlaeufig
      , umgangAOhneWahlscheinVorlaeufigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangAOhneWahlscheinVorlaeufig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangAOhneWahlscheinVorlaeufig");
      }


             if (!isSeitLadenVeraendertUmgangAOhneWahlscheinVorlaeufig) {
          isSeitLadenVeraendertUmgangAOhneWahlscheinVorlaeufig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangAOhneWahlscheinVorlaeufig){
           wertNachLadenUmgangAOhneWahlscheinVorlaeufig=this.umgangAOhneWahlscheinVorlaeufig;
         }
       }
      

       this.umgangAOhneWahlscheinVorlaeufig = umgangAOhneWahlscheinVorlaeufigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_A2_ENDGUELTIG", nullable = WahlartConstants.UMGANG_A2_ENDGUELTIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAMitWahlscheinEndgueltig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangAMitWahlscheinEndgueltig = false;

  public boolean hasChangedUmgangAMitWahlscheinEndgueltig(){
    return hasChangedUmgangAMitWahlscheinEndgueltig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangAMitWahlscheinEndgueltig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangAWerte wertNachLadenUmgangAMitWahlscheinEndgueltig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_A2_ENDGUELTIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangAWerte getUmgangAMitWahlscheinEndgueltig() {
        return umgangAMitWahlscheinEndgueltig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_A2_ENDGUELTIG
   *
   * @param umgangAMitWahlscheinEndgueltig
   */
  @Override   public void setUmgangAMitWahlscheinEndgueltig( de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAMitWahlscheinEndgueltig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAMitWahlscheinEndgueltigInternal = umgangAMitWahlscheinEndgueltig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangAMitWahlscheinEndgueltig
      , umgangAMitWahlscheinEndgueltigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangAMitWahlscheinEndgueltig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangAMitWahlscheinEndgueltig");
      }


             if (!isSeitLadenVeraendertUmgangAMitWahlscheinEndgueltig) {
          isSeitLadenVeraendertUmgangAMitWahlscheinEndgueltig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangAMitWahlscheinEndgueltig){
           wertNachLadenUmgangAMitWahlscheinEndgueltig=this.umgangAMitWahlscheinEndgueltig;
         }
       }
      

       this.umgangAMitWahlscheinEndgueltig = umgangAMitWahlscheinEndgueltigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_A2_VORLAEUFIG", nullable = WahlartConstants.UMGANG_A2_VORLAEUFIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAMitWahlscheinVorlaeufig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangAMitWahlscheinVorlaeufig = false;

  public boolean hasChangedUmgangAMitWahlscheinVorlaeufig(){
    return hasChangedUmgangAMitWahlscheinVorlaeufig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangAMitWahlscheinVorlaeufig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangAWerte wertNachLadenUmgangAMitWahlscheinVorlaeufig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_A2_VORLAEUFIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangAWerte getUmgangAMitWahlscheinVorlaeufig() {
        return umgangAMitWahlscheinVorlaeufig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_A2_VORLAEUFIG
   *
   * @param umgangAMitWahlscheinVorlaeufig
   */
  @Override   public void setUmgangAMitWahlscheinVorlaeufig( de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAMitWahlscheinVorlaeufig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAMitWahlscheinVorlaeufigInternal = umgangAMitWahlscheinVorlaeufig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangAMitWahlscheinVorlaeufig
      , umgangAMitWahlscheinVorlaeufigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangAMitWahlscheinVorlaeufig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangAMitWahlscheinVorlaeufig");
      }


             if (!isSeitLadenVeraendertUmgangAMitWahlscheinVorlaeufig) {
          isSeitLadenVeraendertUmgangAMitWahlscheinVorlaeufig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangAMitWahlscheinVorlaeufig){
           wertNachLadenUmgangAMitWahlscheinVorlaeufig=this.umgangAMitWahlscheinVorlaeufig;
         }
       }
      

       this.umgangAMitWahlscheinVorlaeufig = umgangAMitWahlscheinVorlaeufigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_A3_ENDGUELTIG", nullable = WahlartConstants.UMGANG_A3_ENDGUELTIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangAWerte umgangANichtImWaehlerverzeichnisEndgueltig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangANichtImWaehlerverzeichnisEndgueltig = false;

  public boolean hasChangedUmgangANichtImWaehlerverzeichnisEndgueltig(){
    return hasChangedUmgangANichtImWaehlerverzeichnisEndgueltig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangANichtImWaehlerverzeichnisEndgueltig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangAWerte wertNachLadenUmgangANichtImWaehlerverzeichnisEndgueltig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_A3_ENDGUELTIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangAWerte getUmgangANichtImWaehlerverzeichnisEndgueltig() {
        return umgangANichtImWaehlerverzeichnisEndgueltig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_A3_ENDGUELTIG
   *
   * @param umgangANichtImWaehlerverzeichnisEndgueltig
   */
  @Override   public void setUmgangANichtImWaehlerverzeichnisEndgueltig( de.ivu.elect.business.wahl.entity.UmgangAWerte umgangANichtImWaehlerverzeichnisEndgueltig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangAWerte umgangANichtImWaehlerverzeichnisEndgueltigInternal = umgangANichtImWaehlerverzeichnisEndgueltig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangANichtImWaehlerverzeichnisEndgueltig
      , umgangANichtImWaehlerverzeichnisEndgueltigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangANichtImWaehlerverzeichnisEndgueltig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangANichtImWaehlerverzeichnisEndgueltig");
      }


             if (!isSeitLadenVeraendertUmgangANichtImWaehlerverzeichnisEndgueltig) {
          isSeitLadenVeraendertUmgangANichtImWaehlerverzeichnisEndgueltig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangANichtImWaehlerverzeichnisEndgueltig){
           wertNachLadenUmgangANichtImWaehlerverzeichnisEndgueltig=this.umgangANichtImWaehlerverzeichnisEndgueltig;
         }
       }
      

       this.umgangANichtImWaehlerverzeichnisEndgueltig = umgangANichtImWaehlerverzeichnisEndgueltigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_A3_VORLAEUFIG", nullable = WahlartConstants.UMGANG_A3_VORLAEUFIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangAWerte umgangANichtImWaehlerverzeichnisVorlaeufig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangANichtImWaehlerverzeichnisVorlaeufig = false;

  public boolean hasChangedUmgangANichtImWaehlerverzeichnisVorlaeufig(){
    return hasChangedUmgangANichtImWaehlerverzeichnisVorlaeufig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangANichtImWaehlerverzeichnisVorlaeufig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangAWerte wertNachLadenUmgangANichtImWaehlerverzeichnisVorlaeufig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_A3_VORLAEUFIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangAWerte getUmgangANichtImWaehlerverzeichnisVorlaeufig() {
        return umgangANichtImWaehlerverzeichnisVorlaeufig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_A3_VORLAEUFIG
   *
   * @param umgangANichtImWaehlerverzeichnisVorlaeufig
   */
  @Override   public void setUmgangANichtImWaehlerverzeichnisVorlaeufig( de.ivu.elect.business.wahl.entity.UmgangAWerte umgangANichtImWaehlerverzeichnisVorlaeufig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangAWerte umgangANichtImWaehlerverzeichnisVorlaeufigInternal = umgangANichtImWaehlerverzeichnisVorlaeufig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangANichtImWaehlerverzeichnisVorlaeufig
      , umgangANichtImWaehlerverzeichnisVorlaeufigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangANichtImWaehlerverzeichnisVorlaeufig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangANichtImWaehlerverzeichnisVorlaeufig");
      }


             if (!isSeitLadenVeraendertUmgangANichtImWaehlerverzeichnisVorlaeufig) {
          isSeitLadenVeraendertUmgangANichtImWaehlerverzeichnisVorlaeufig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangANichtImWaehlerverzeichnisVorlaeufig){
           wertNachLadenUmgangANichtImWaehlerverzeichnisVorlaeufig=this.umgangANichtImWaehlerverzeichnisVorlaeufig;
         }
       }
      

       this.umgangANichtImWaehlerverzeichnisVorlaeufig = umgangANichtImWaehlerverzeichnisVorlaeufigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_A_G_ENDGUELTIG", nullable = WahlartConstants.UMGANG_A_G_ENDGUELTIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAGesamtEndgueltig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangAGesamtEndgueltig = false;

  public boolean hasChangedUmgangAGesamtEndgueltig(){
    return hasChangedUmgangAGesamtEndgueltig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangAGesamtEndgueltig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangAWerte wertNachLadenUmgangAGesamtEndgueltig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_A_G_ENDGUELTIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangAWerte getUmgangAGesamtEndgueltig() {
        return umgangAGesamtEndgueltig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_A_G_ENDGUELTIG
   *
   * @param umgangAGesamtEndgueltig
   */
  @Override   public void setUmgangAGesamtEndgueltig( de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAGesamtEndgueltig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAGesamtEndgueltigInternal = umgangAGesamtEndgueltig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangAGesamtEndgueltig
      , umgangAGesamtEndgueltigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangAGesamtEndgueltig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangAGesamtEndgueltig");
      }


             if (!isSeitLadenVeraendertUmgangAGesamtEndgueltig) {
          isSeitLadenVeraendertUmgangAGesamtEndgueltig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangAGesamtEndgueltig){
           wertNachLadenUmgangAGesamtEndgueltig=this.umgangAGesamtEndgueltig;
         }
       }
      

       this.umgangAGesamtEndgueltig = umgangAGesamtEndgueltigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_A_G_VORLAEUFIG", nullable = WahlartConstants.UMGANG_A_G_VORLAEUFIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAGesamtVorlaeufig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangAGesamtVorlaeufig = false;

  public boolean hasChangedUmgangAGesamtVorlaeufig(){
    return hasChangedUmgangAGesamtVorlaeufig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangAGesamtVorlaeufig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangAWerte wertNachLadenUmgangAGesamtVorlaeufig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_A_G_VORLAEUFIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangAWerte getUmgangAGesamtVorlaeufig() {
        return umgangAGesamtVorlaeufig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_A_G_VORLAEUFIG
   *
   * @param umgangAGesamtVorlaeufig
   */
  @Override   public void setUmgangAGesamtVorlaeufig( de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAGesamtVorlaeufig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAGesamtVorlaeufigInternal = umgangAGesamtVorlaeufig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangAGesamtVorlaeufig
      , umgangAGesamtVorlaeufigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangAGesamtVorlaeufig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangAGesamtVorlaeufig");
      }


             if (!isSeitLadenVeraendertUmgangAGesamtVorlaeufig) {
          isSeitLadenVeraendertUmgangAGesamtVorlaeufig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangAGesamtVorlaeufig){
           wertNachLadenUmgangAGesamtVorlaeufig=this.umgangAGesamtVorlaeufig;
         }
       }
      

       this.umgangAGesamtVorlaeufig = umgangAGesamtVorlaeufigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_B1_ENDGUELTIG", nullable = WahlartConstants.UMGANG_B1_ENDGUELTIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBOhneWahlscheinEndgueltig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangBOhneWahlscheinEndgueltig = false;

  public boolean hasChangedUmgangBOhneWahlscheinEndgueltig(){
    return hasChangedUmgangBOhneWahlscheinEndgueltig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangBOhneWahlscheinEndgueltig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangBWerte wertNachLadenUmgangBOhneWahlscheinEndgueltig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_B1_ENDGUELTIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangBWerte getUmgangBOhneWahlscheinEndgueltig() {
        return umgangBOhneWahlscheinEndgueltig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_B1_ENDGUELTIG
   *
   * @param umgangBOhneWahlscheinEndgueltig
   */
  @Override   public void setUmgangBOhneWahlscheinEndgueltig( de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBOhneWahlscheinEndgueltig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBOhneWahlscheinEndgueltigInternal = umgangBOhneWahlscheinEndgueltig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangBOhneWahlscheinEndgueltig
      , umgangBOhneWahlscheinEndgueltigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangBOhneWahlscheinEndgueltig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangBOhneWahlscheinEndgueltig");
      }


             if (!isSeitLadenVeraendertUmgangBOhneWahlscheinEndgueltig) {
          isSeitLadenVeraendertUmgangBOhneWahlscheinEndgueltig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangBOhneWahlscheinEndgueltig){
           wertNachLadenUmgangBOhneWahlscheinEndgueltig=this.umgangBOhneWahlscheinEndgueltig;
         }
       }
      

       this.umgangBOhneWahlscheinEndgueltig = umgangBOhneWahlscheinEndgueltigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_B1_VORLAEUFIG", nullable = WahlartConstants.UMGANG_B1_VORLAEUFIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBOhneWahlscheinVorlaeufig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangBOhneWahlscheinVorlaeufig = false;

  public boolean hasChangedUmgangBOhneWahlscheinVorlaeufig(){
    return hasChangedUmgangBOhneWahlscheinVorlaeufig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangBOhneWahlscheinVorlaeufig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangBWerte wertNachLadenUmgangBOhneWahlscheinVorlaeufig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_B1_VORLAEUFIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangBWerte getUmgangBOhneWahlscheinVorlaeufig() {
        return umgangBOhneWahlscheinVorlaeufig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_B1_VORLAEUFIG
   *
   * @param umgangBOhneWahlscheinVorlaeufig
   */
  @Override   public void setUmgangBOhneWahlscheinVorlaeufig( de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBOhneWahlscheinVorlaeufig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBOhneWahlscheinVorlaeufigInternal = umgangBOhneWahlscheinVorlaeufig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangBOhneWahlscheinVorlaeufig
      , umgangBOhneWahlscheinVorlaeufigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangBOhneWahlscheinVorlaeufig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangBOhneWahlscheinVorlaeufig");
      }


             if (!isSeitLadenVeraendertUmgangBOhneWahlscheinVorlaeufig) {
          isSeitLadenVeraendertUmgangBOhneWahlscheinVorlaeufig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangBOhneWahlscheinVorlaeufig){
           wertNachLadenUmgangBOhneWahlscheinVorlaeufig=this.umgangBOhneWahlscheinVorlaeufig;
         }
       }
      

       this.umgangBOhneWahlscheinVorlaeufig = umgangBOhneWahlscheinVorlaeufigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_B2_ENDGUELTIG", nullable = WahlartConstants.UMGANG_B2_ENDGUELTIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBMitWahlscheinEndgueltig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangBMitWahlscheinEndgueltig = false;

  public boolean hasChangedUmgangBMitWahlscheinEndgueltig(){
    return hasChangedUmgangBMitWahlscheinEndgueltig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangBMitWahlscheinEndgueltig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangBWerte wertNachLadenUmgangBMitWahlscheinEndgueltig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_B2_ENDGUELTIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangBWerte getUmgangBMitWahlscheinEndgueltig() {
        return umgangBMitWahlscheinEndgueltig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_B2_ENDGUELTIG
   *
   * @param umgangBMitWahlscheinEndgueltig
   */
  @Override   public void setUmgangBMitWahlscheinEndgueltig( de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBMitWahlscheinEndgueltig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBMitWahlscheinEndgueltigInternal = umgangBMitWahlscheinEndgueltig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangBMitWahlscheinEndgueltig
      , umgangBMitWahlscheinEndgueltigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangBMitWahlscheinEndgueltig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangBMitWahlscheinEndgueltig");
      }


             if (!isSeitLadenVeraendertUmgangBMitWahlscheinEndgueltig) {
          isSeitLadenVeraendertUmgangBMitWahlscheinEndgueltig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangBMitWahlscheinEndgueltig){
           wertNachLadenUmgangBMitWahlscheinEndgueltig=this.umgangBMitWahlscheinEndgueltig;
         }
       }
      

       this.umgangBMitWahlscheinEndgueltig = umgangBMitWahlscheinEndgueltigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_B2_VORLAEUFIG", nullable = WahlartConstants.UMGANG_B2_VORLAEUFIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBMitWahlscheinVorlaeufig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangBMitWahlscheinVorlaeufig = false;

  public boolean hasChangedUmgangBMitWahlscheinVorlaeufig(){
    return hasChangedUmgangBMitWahlscheinVorlaeufig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangBMitWahlscheinVorlaeufig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangBWerte wertNachLadenUmgangBMitWahlscheinVorlaeufig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_B2_VORLAEUFIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangBWerte getUmgangBMitWahlscheinVorlaeufig() {
        return umgangBMitWahlscheinVorlaeufig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_B2_VORLAEUFIG
   *
   * @param umgangBMitWahlscheinVorlaeufig
   */
  @Override   public void setUmgangBMitWahlscheinVorlaeufig( de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBMitWahlscheinVorlaeufig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBMitWahlscheinVorlaeufigInternal = umgangBMitWahlscheinVorlaeufig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangBMitWahlscheinVorlaeufig
      , umgangBMitWahlscheinVorlaeufigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangBMitWahlscheinVorlaeufig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangBMitWahlscheinVorlaeufig");
      }


             if (!isSeitLadenVeraendertUmgangBMitWahlscheinVorlaeufig) {
          isSeitLadenVeraendertUmgangBMitWahlscheinVorlaeufig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangBMitWahlscheinVorlaeufig){
           wertNachLadenUmgangBMitWahlscheinVorlaeufig=this.umgangBMitWahlscheinVorlaeufig;
         }
       }
      

       this.umgangBMitWahlscheinVorlaeufig = umgangBMitWahlscheinVorlaeufigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_B_G_ENDGUELTIG", nullable = WahlartConstants.UMGANG_B_G_ENDGUELTIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBGesamtEndgueltig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangBGesamtEndgueltig = false;

  public boolean hasChangedUmgangBGesamtEndgueltig(){
    return hasChangedUmgangBGesamtEndgueltig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangBGesamtEndgueltig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangBWerte wertNachLadenUmgangBGesamtEndgueltig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_B_G_ENDGUELTIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangBWerte getUmgangBGesamtEndgueltig() {
        return umgangBGesamtEndgueltig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_B_G_ENDGUELTIG
   *
   * @param umgangBGesamtEndgueltig
   */
  @Override   public void setUmgangBGesamtEndgueltig( de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBGesamtEndgueltig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBGesamtEndgueltigInternal = umgangBGesamtEndgueltig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangBGesamtEndgueltig
      , umgangBGesamtEndgueltigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangBGesamtEndgueltig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangBGesamtEndgueltig");
      }


             if (!isSeitLadenVeraendertUmgangBGesamtEndgueltig) {
          isSeitLadenVeraendertUmgangBGesamtEndgueltig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangBGesamtEndgueltig){
           wertNachLadenUmgangBGesamtEndgueltig=this.umgangBGesamtEndgueltig;
         }
       }
      

       this.umgangBGesamtEndgueltig = umgangBGesamtEndgueltigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_B_G_VORLAEUFIG", nullable = WahlartConstants.UMGANG_B_G_VORLAEUFIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBGesamtVorlaeufig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangBGesamtVorlaeufig = false;

  public boolean hasChangedUmgangBGesamtVorlaeufig(){
    return hasChangedUmgangBGesamtVorlaeufig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangBGesamtVorlaeufig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangBWerte wertNachLadenUmgangBGesamtVorlaeufig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_B_G_VORLAEUFIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangBWerte getUmgangBGesamtVorlaeufig() {
        return umgangBGesamtVorlaeufig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_B_G_VORLAEUFIG
   *
   * @param umgangBGesamtVorlaeufig
   */
  @Override   public void setUmgangBGesamtVorlaeufig( de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBGesamtVorlaeufig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangBWerte umgangBGesamtVorlaeufigInternal = umgangBGesamtVorlaeufig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangBGesamtVorlaeufig
      , umgangBGesamtVorlaeufigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangBGesamtVorlaeufig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangBGesamtVorlaeufig");
      }


             if (!isSeitLadenVeraendertUmgangBGesamtVorlaeufig) {
          isSeitLadenVeraendertUmgangBGesamtVorlaeufig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangBGesamtVorlaeufig){
           wertNachLadenUmgangBGesamtVorlaeufig=this.umgangBGesamtVorlaeufig;
         }
       }
      

       this.umgangBGesamtVorlaeufig = umgangBGesamtVorlaeufigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_GUELTIGE_ENDGUELTIG", nullable = WahlartConstants.UMGANG_GUELTIGE_ENDGUELTIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte umgangGueltigeEndgueltig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangGueltigeEndgueltig = false;

  public boolean hasChangedUmgangGueltigeEndgueltig(){
    return hasChangedUmgangGueltigeEndgueltig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangGueltigeEndgueltig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte wertNachLadenUmgangGueltigeEndgueltig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_GUELTIGE_ENDGUELTIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte getUmgangGueltigeEndgueltig() {
        return umgangGueltigeEndgueltig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_GUELTIGE_ENDGUELTIG
   *
   * @param umgangGueltigeEndgueltig
   */
  @Override   public void setUmgangGueltigeEndgueltig( de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte umgangGueltigeEndgueltig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte umgangGueltigeEndgueltigInternal = umgangGueltigeEndgueltig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangGueltigeEndgueltig
      , umgangGueltigeEndgueltigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangGueltigeEndgueltig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangGueltigeEndgueltig");
      }


             if (!isSeitLadenVeraendertUmgangGueltigeEndgueltig) {
          isSeitLadenVeraendertUmgangGueltigeEndgueltig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangGueltigeEndgueltig){
           wertNachLadenUmgangGueltigeEndgueltig=this.umgangGueltigeEndgueltig;
         }
       }
      

       this.umgangGueltigeEndgueltig = umgangGueltigeEndgueltigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_GUELTIGE_VORLAEUFIG", nullable = WahlartConstants.UMGANG_GUELTIGE_VORLAEUFIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte umgangGueltigeVorlaeufig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangGueltigeVorlaeufig = false;

  public boolean hasChangedUmgangGueltigeVorlaeufig(){
    return hasChangedUmgangGueltigeVorlaeufig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangGueltigeVorlaeufig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte wertNachLadenUmgangGueltigeVorlaeufig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_GUELTIGE_VORLAEUFIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte getUmgangGueltigeVorlaeufig() {
        return umgangGueltigeVorlaeufig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_GUELTIGE_VORLAEUFIG
   *
   * @param umgangGueltigeVorlaeufig
   */
  @Override   public void setUmgangGueltigeVorlaeufig( de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte umgangGueltigeVorlaeufig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte umgangGueltigeVorlaeufigInternal = umgangGueltigeVorlaeufig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangGueltigeVorlaeufig
      , umgangGueltigeVorlaeufigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangGueltigeVorlaeufig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangGueltigeVorlaeufig");
      }


             if (!isSeitLadenVeraendertUmgangGueltigeVorlaeufig) {
          isSeitLadenVeraendertUmgangGueltigeVorlaeufig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangGueltigeVorlaeufig){
           wertNachLadenUmgangGueltigeVorlaeufig=this.umgangGueltigeVorlaeufig;
         }
       }
      

       this.umgangGueltigeVorlaeufig = umgangGueltigeVorlaeufigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_PRUEFZEICHEN_ENDGUELTIG", nullable = WahlartConstants.UMGANG_PRUEFZEICHEN_ENDGUELTIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAPruefkennzeichenEndgueltig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangAPruefkennzeichenEndgueltig = false;

  public boolean hasChangedUmgangAPruefkennzeichenEndgueltig(){
    return hasChangedUmgangAPruefkennzeichenEndgueltig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangAPruefkennzeichenEndgueltig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangAWerte wertNachLadenUmgangAPruefkennzeichenEndgueltig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_PRUEFZEICHEN_ENDGUELTIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangAWerte getUmgangAPruefkennzeichenEndgueltig() {
        return umgangAPruefkennzeichenEndgueltig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_PRUEFZEICHEN_ENDGUELTIG
   *
   * @param umgangAPruefkennzeichenEndgueltig
   */
  @Override   public void setUmgangAPruefkennzeichenEndgueltig( de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAPruefkennzeichenEndgueltig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAPruefkennzeichenEndgueltigInternal = umgangAPruefkennzeichenEndgueltig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangAPruefkennzeichenEndgueltig
      , umgangAPruefkennzeichenEndgueltigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangAPruefkennzeichenEndgueltig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangAPruefkennzeichenEndgueltig");
      }


             if (!isSeitLadenVeraendertUmgangAPruefkennzeichenEndgueltig) {
          isSeitLadenVeraendertUmgangAPruefkennzeichenEndgueltig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangAPruefkennzeichenEndgueltig){
           wertNachLadenUmgangAPruefkennzeichenEndgueltig=this.umgangAPruefkennzeichenEndgueltig;
         }
       }
      

       this.umgangAPruefkennzeichenEndgueltig = umgangAPruefkennzeichenEndgueltigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_PRUEFZEICHEN_VORLAEUFIG", nullable = WahlartConstants.UMGANG_PRUEFZEICHEN_VORLAEUFIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAPruefkennzeichenVorlaeufig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangAPruefkennzeichenVorlaeufig = false;

  public boolean hasChangedUmgangAPruefkennzeichenVorlaeufig(){
    return hasChangedUmgangAPruefkennzeichenVorlaeufig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangAPruefkennzeichenVorlaeufig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangAWerte wertNachLadenUmgangAPruefkennzeichenVorlaeufig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_PRUEFZEICHEN_VORLAEUFIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangAWerte getUmgangAPruefkennzeichenVorlaeufig() {
        return umgangAPruefkennzeichenVorlaeufig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_PRUEFZEICHEN_VORLAEUFIG
   *
   * @param umgangAPruefkennzeichenVorlaeufig
   */
  @Override   public void setUmgangAPruefkennzeichenVorlaeufig( de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAPruefkennzeichenVorlaeufig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangAWerte umgangAPruefkennzeichenVorlaeufigInternal = umgangAPruefkennzeichenVorlaeufig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangAPruefkennzeichenVorlaeufig
      , umgangAPruefkennzeichenVorlaeufigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangAPruefkennzeichenVorlaeufig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangAPruefkennzeichenVorlaeufig");
      }


             if (!isSeitLadenVeraendertUmgangAPruefkennzeichenVorlaeufig) {
          isSeitLadenVeraendertUmgangAPruefkennzeichenVorlaeufig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangAPruefkennzeichenVorlaeufig){
           wertNachLadenUmgangAPruefkennzeichenVorlaeufig=this.umgangAPruefkennzeichenVorlaeufig;
         }
       }
      

       this.umgangAPruefkennzeichenVorlaeufig = umgangAPruefkennzeichenVorlaeufigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_UNGUELTIGE_ENDGUELTIG", nullable = WahlartConstants.UMGANG_UNGUELTIGE_ENDGUELTIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte umgangUngueltigeEndgueltig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangUngueltigeEndgueltig = false;

  public boolean hasChangedUmgangUngueltigeEndgueltig(){
    return hasChangedUmgangUngueltigeEndgueltig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangUngueltigeEndgueltig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte wertNachLadenUmgangUngueltigeEndgueltig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_UNGUELTIGE_ENDGUELTIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte getUmgangUngueltigeEndgueltig() {
        return umgangUngueltigeEndgueltig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_UNGUELTIGE_ENDGUELTIG
   *
   * @param umgangUngueltigeEndgueltig
   */
  @Override   public void setUmgangUngueltigeEndgueltig( de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte umgangUngueltigeEndgueltig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte umgangUngueltigeEndgueltigInternal = umgangUngueltigeEndgueltig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangUngueltigeEndgueltig
      , umgangUngueltigeEndgueltigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangUngueltigeEndgueltig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangUngueltigeEndgueltig");
      }


             if (!isSeitLadenVeraendertUmgangUngueltigeEndgueltig) {
          isSeitLadenVeraendertUmgangUngueltigeEndgueltig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangUngueltigeEndgueltig){
           wertNachLadenUmgangUngueltigeEndgueltig=this.umgangUngueltigeEndgueltig;
         }
       }
      

       this.umgangUngueltigeEndgueltig = umgangUngueltigeEndgueltigInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "UMGANG_UNGUELTIGE_VORLAEUFIG", nullable = WahlartConstants.UMGANG_UNGUELTIGE_VORLAEUFIG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte umgangUngueltigeVorlaeufig =  null;

  @javax.persistence.Transient
  protected boolean hasChangedUmgangUngueltigeVorlaeufig = false;

  public boolean hasChangedUmgangUngueltigeVorlaeufig(){
    return hasChangedUmgangUngueltigeVorlaeufig;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertUmgangUngueltigeVorlaeufig = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte wertNachLadenUmgangUngueltigeVorlaeufig;
  
  /**
   * 
   *
   * getter for WAHLART.UMGANG_UNGUELTIGE_VORLAEUFIG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte getUmgangUngueltigeVorlaeufig() {
        return umgangUngueltigeVorlaeufig;
      }

  /**
   * 
   *
   * setter for WAHLART.UMGANG_UNGUELTIGE_VORLAEUFIG
   *
   * @param umgangUngueltigeVorlaeufig
   */
  @Override   public void setUmgangUngueltigeVorlaeufig( de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte umgangUngueltigeVorlaeufig) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte umgangUngueltigeVorlaeufigInternal = umgangUngueltigeVorlaeufig;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.umgangUngueltigeVorlaeufig
      , umgangUngueltigeVorlaeufigInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedUmgangUngueltigeVorlaeufig |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("umgangUngueltigeVorlaeufig");
      }


             if (!isSeitLadenVeraendertUmgangUngueltigeVorlaeufig) {
          isSeitLadenVeraendertUmgangUngueltigeVorlaeufig = thisAttributChanged;
         if (isSeitLadenVeraendertUmgangUngueltigeVorlaeufig){
           wertNachLadenUmgangUngueltigeVorlaeufig=this.umgangUngueltigeVorlaeufig;
         }
       }
      

       this.umgangUngueltigeVorlaeufig = umgangUngueltigeVorlaeufigInternal;

         }

        
  @javax.persistence.Column(name = "WAHLAUSSCHUSSBEZEICHNUNG", nullable = WahlartConstants.WAHLAUSSCHUSSBEZEICHNUNG_NULLABLE, length=WahlartConstants.WAHLAUSSCHUSSBEZEICHNUNG_MAX_LENGTH)
        
  protected java.lang.String wahlausschussbezeichnung =  null;

  @javax.persistence.Transient
  protected boolean hasChangedWahlausschussbezeichnung = false;

  public boolean hasChangedWahlausschussbezeichnung(){
    return hasChangedWahlausschussbezeichnung;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertWahlausschussbezeichnung = false;
     @javax.persistence.Transient
     private transient java.lang.String wertNachLadenWahlausschussbezeichnung;
  
  /**
   * 
   *
   * getter for WAHLART.WAHLAUSSCHUSSBEZEICHNUNG
   */
  @javax.annotation.Nullable   @Override   public  java.lang.String getWahlausschussbezeichnung() {
        return wahlausschussbezeichnung;
      }

  /**
   * 
   *
   * setter for WAHLART.WAHLAUSSCHUSSBEZEICHNUNG
   *
   * @param wahlausschussbezeichnung
   */
  @Override   public void setWahlausschussbezeichnung(@javax.annotation.Nullable  java.lang.String wahlausschussbezeichnung) {

       resetTkCache();
                  
                          java.lang.String wahlausschussbezeichnungInternal = de.ivu.elect.jee.entity.EntityUtil.trimToNullOrMaxLength(wahlausschussbezeichnung, WahlartConstants.WAHLAUSSCHUSSBEZEICHNUNG_MAX_LENGTH, getId(), getClass());
                  
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.wahlausschussbezeichnung
      , wahlausschussbezeichnungInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedWahlausschussbezeichnung |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("wahlausschussbezeichnung");
      }


             if (!isSeitLadenVeraendertWahlausschussbezeichnung) {
          isSeitLadenVeraendertWahlausschussbezeichnung = thisAttributChanged;
         if (isSeitLadenVeraendertWahlausschussbezeichnung){
           wertNachLadenWahlausschussbezeichnung=this.wahlausschussbezeichnung;
         }
       }
      

       this.wahlausschussbezeichnung = wahlausschussbezeichnungInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "WAHLBERECHTIGUNG_IM_AUSLAND", nullable = WahlartConstants.WAHLBERECHTIGUNG_IM_AUSLAND_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.WahlberechtigungImAusland wahlberechtigungImAusland =  de.ivu.elect.business.wahl.entity.WahlberechtigungImAusland.UNBEKANNT;

  @javax.persistence.Transient
  protected boolean hasChangedWahlberechtigungImAusland = false;

  public boolean hasChangedWahlberechtigungImAusland(){
    return hasChangedWahlberechtigungImAusland;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertWahlberechtigungImAusland = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.WahlberechtigungImAusland wertNachLadenWahlberechtigungImAusland;
  
  /**
   * 
   *
   * getter for WAHLART.WAHLBERECHTIGUNG_IM_AUSLAND
   */
    @Override   public  de.ivu.elect.business.wahl.entity.WahlberechtigungImAusland getWahlberechtigungImAusland() {
        return wahlberechtigungImAusland;
      }

  /**
   * 
   *
   * setter for WAHLART.WAHLBERECHTIGUNG_IM_AUSLAND
   *
   * @param wahlberechtigungImAusland
   */
  @Override   public void setWahlberechtigungImAusland( de.ivu.elect.business.wahl.entity.WahlberechtigungImAusland wahlberechtigungImAusland) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.WahlberechtigungImAusland wahlberechtigungImAuslandInternal = wahlberechtigungImAusland;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.wahlberechtigungImAusland
      , wahlberechtigungImAuslandInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedWahlberechtigungImAusland |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("wahlberechtigungImAusland");
      }


             if (!isSeitLadenVeraendertWahlberechtigungImAusland) {
          isSeitLadenVeraendertWahlberechtigungImAusland = thisAttributChanged;
         if (isSeitLadenVeraendertWahlberechtigungImAusland){
           wertNachLadenWahlberechtigungImAusland=this.wahlberechtigungImAusland;
         }
       }
      

       this.wahlberechtigungImAusland = wahlberechtigungImAuslandInternal;

         }

        
  @javax.persistence.Column(name = "WAHLBEZEICHNUNG_LANG", nullable = WahlartConstants.WAHLBEZEICHNUNG_LANG_NULLABLE, length=WahlartConstants.WAHLBEZEICHNUNG_LANG_MAX_LENGTH)
        
  protected java.lang.String wahlbezeichnungLang =  null;

  @javax.persistence.Transient
  protected boolean hasChangedWahlbezeichnungLang = false;

  public boolean hasChangedWahlbezeichnungLang(){
    return hasChangedWahlbezeichnungLang;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertWahlbezeichnungLang = false;
     @javax.persistence.Transient
     private transient java.lang.String wertNachLadenWahlbezeichnungLang;
  
  /**
   * 
   *
   * getter for WAHLART.WAHLBEZEICHNUNG_LANG
   */
  @javax.annotation.Nullable   @Override   public  java.lang.String getWahlbezeichnungLang() {
        return wahlbezeichnungLang;
      }

  /**
   * 
   *
   * setter for WAHLART.WAHLBEZEICHNUNG_LANG
   *
   * @param wahlbezeichnungLang
   */
  @Override   public void setWahlbezeichnungLang(@javax.annotation.Nullable  java.lang.String wahlbezeichnungLang) {

       resetTkCache();
                  
                          java.lang.String wahlbezeichnungLangInternal = de.ivu.elect.jee.entity.EntityUtil.trimToNullOrMaxLength(wahlbezeichnungLang, WahlartConstants.WAHLBEZEICHNUNG_LANG_MAX_LENGTH, getId(), getClass());
                  
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.wahlbezeichnungLang
      , wahlbezeichnungLangInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedWahlbezeichnungLang |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("wahlbezeichnungLang");
      }


             if (!isSeitLadenVeraendertWahlbezeichnungLang) {
          isSeitLadenVeraendertWahlbezeichnungLang = thisAttributChanged;
         if (isSeitLadenVeraendertWahlbezeichnungLang){
           wertNachLadenWahlbezeichnungLang=this.wahlbezeichnungLang;
         }
       }
      

       this.wahlbezeichnungLang = wahlbezeichnungLangInternal;

         }

        
    @javax.persistence.Enumerated(javax.persistence.EnumType.STRING)
      @javax.persistence.Column(name = "ZULASSUNGSPRUEFUNG", nullable = WahlartConstants.ZULASSUNGSPRUEFUNG_NULLABLE)
    
  protected de.ivu.elect.business.wahl.entity.Zulassungspruefung zulassungspruefung =  de.ivu.elect.business.wahl.entity.Zulassungspruefung.AKTIVIERT;

  @javax.persistence.Transient
  protected boolean hasChangedZulassungspruefung = false;

  public boolean hasChangedZulassungspruefung(){
    return hasChangedZulassungspruefung;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertZulassungspruefung = false;
     @javax.persistence.Transient
     private transient de.ivu.elect.business.wahl.entity.Zulassungspruefung wertNachLadenZulassungspruefung;
  
  /**
   * 
   *
   * getter for WAHLART.ZULASSUNGSPRUEFUNG
   */
    @Override   public  de.ivu.elect.business.wahl.entity.Zulassungspruefung getZulassungspruefung() {
        return zulassungspruefung;
      }

  /**
   * 
   *
   * setter for WAHLART.ZULASSUNGSPRUEFUNG
   *
   * @param zulassungspruefung
   */
  @Override   public void setZulassungspruefung( de.ivu.elect.business.wahl.entity.Zulassungspruefung zulassungspruefung) {

       resetTkCache();
                  de.ivu.elect.business.wahl.entity.Zulassungspruefung zulassungspruefungInternal = zulassungspruefung;
       
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.zulassungspruefung
      , zulassungspruefungInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedZulassungspruefung |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("zulassungspruefung");
      }


             if (!isSeitLadenVeraendertZulassungspruefung) {
          isSeitLadenVeraendertZulassungspruefung = thisAttributChanged;
         if (isSeitLadenVeraendertZulassungspruefung){
           wertNachLadenZulassungspruefung=this.zulassungspruefung;
         }
       }
      

       this.zulassungspruefung = zulassungspruefungInternal;

         }

        
  @javax.persistence.Column(name = "ZU_WAEHLENDES_GREMIUM", nullable = WahlartConstants.ZU_WAEHLENDES_GREMIUM_NULLABLE, length=WahlartConstants.ZU_WAEHLENDES_GREMIUM_MAX_LENGTH)
        
  protected java.lang.String zuWaehlendesGremium =  null;

  @javax.persistence.Transient
  protected boolean hasChangedZuWaehlendesGremium = false;

  public boolean hasChangedZuWaehlendesGremium(){
    return hasChangedZuWaehlendesGremium;
  }
       @javax.persistence.Transient
     private transient boolean isSeitLadenVeraendertZuWaehlendesGremium = false;
     @javax.persistence.Transient
     private transient java.lang.String wertNachLadenZuWaehlendesGremium;
  
  /**
   * 
   *
   * getter for WAHLART.ZU_WAEHLENDES_GREMIUM
   */
  @javax.annotation.Nullable   @Override   public  java.lang.String getZuWaehlendesGremium() {
        return zuWaehlendesGremium;
      }

  /**
   * 
   *
   * setter for WAHLART.ZU_WAEHLENDES_GREMIUM
   *
   * @param zuWaehlendesGremium
   */
  @Override   public void setZuWaehlendesGremium(@javax.annotation.Nullable  java.lang.String zuWaehlendesGremium) {

       resetTkCache();
                  
                          java.lang.String zuWaehlendesGremiumInternal = de.ivu.elect.jee.entity.EntityUtil.trimToNullOrMaxLength(zuWaehlendesGremium, WahlartConstants.ZU_WAEHLENDES_GREMIUM_MAX_LENGTH, getId(), getClass());
                  
       
      boolean thisAttributChanged =
      !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.zuWaehlendesGremium
      , zuWaehlendesGremiumInternal);

      attributeChanged |= thisAttributChanged;

      hasChangedZuWaehlendesGremium |= thisAttributChanged;

      if (thisAttributChanged) {
      markDirty("zuWaehlendesGremium");
      }


             if (!isSeitLadenVeraendertZuWaehlendesGremium) {
          isSeitLadenVeraendertZuWaehlendesGremium = thisAttributChanged;
         if (isSeitLadenVeraendertZuWaehlendesGremium){
           wertNachLadenZuWaehlendesGremium=this.zuWaehlendesGremium;
         }
       }
      

       this.zuWaehlendesGremium = zuWaehlendesGremiumInternal;

         }

    
/**
 * Beziehungen N:1 unidirektional
 */
  /**
   * Beziehung (unidirektional) zu Mandant
   */
  @javax.persistence.ManyToOne(fetch =  javax.persistence.FetchType.LAZY , optional=false, cascade = {javax.persistence.CascadeType.PERSIST})
  @javax.persistence.JoinColumns(@javax.persistence.JoinColumn(name = "MANDANT_ID", referencedColumnName="MANDANT_ID"))
  protected de.ivu.elect.business.mandant.entity.Mandant mandant;

  /**
   * 
   */
  @Override
  public void setMandant( de.ivu.elect.business.mandant.entity.Mandant mandant){
    resetTkCache();
    
    boolean thisAttributChanged =
    !de.ivu.elect.jee.entity.EntityUtil.compareObjects(this.mandant
    , mandant);

    attributeChanged |= thisAttributChanged;

    hasChangedMandant |= thisAttributChanged;

    if (thisAttributChanged) {
    markDirty("mandant");
    }

    this.mandant = mandant;
      }

  /**
   * 
   */
    @Override
  public de.ivu.elect.business.mandant.entity.Mandant getMandant(){
    return this.mandant;
  }

  @javax.persistence.Transient
  protected boolean hasChangedMandant = false;

  public boolean hasChangedMandant(){
    return hasChangedMandant;
  }


/**
 * Beziehungen N:1 bidirektional
 */

  /**
   * Beziehungen 1:N unidirektional (nicht unterstuetzt)
   */

  /**
   * Beziehungen 1:N bidirektional
   */

  /**
   * Beziehung 1:N (bidirektional) zu GebietsarteigenschaftsByWahlart
   *
   */
  @javax.persistence.OneToMany(targetEntity=de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft.class, mappedBy="wahlart", fetch=javax.persistence.FetchType.LAZY )
// elect deaktiviert, gibt Probleme beim Löschen  @org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.TRANSACTIONAL)
  protected java.util.Set<de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft> gebietsarteigenschaftsByWahlart;


  /**
   * getter muss read-only verwendet werden, da die Beziehung auf der anderen Seite nicht aktualisiert wird!
   */
  @Override
  public java.util.Set<de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft> getGebietsarteigenschaftsByWahlart(){
    if (gebietsarteigenschaftsByWahlart == null){
      return  java.util.Collections.<de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft>unmodifiableSet(java.util.Collections.<de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft>emptySet());
    }

    return java.util.Collections.<de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft>unmodifiableSet(this.gebietsarteigenschaftsByWahlart);
  }

  @javax.persistence.Transient
  private boolean hasChangedGebietsarteigenschaftsByWahlart = false;

  public boolean hasChangedGebietsarteigenschaftsByWahlart() {
    return hasChangedGebietsarteigenschaftsByWahlart;
  }

  /**
   * Hinzufuegen von de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft
   */
  @Override
  public void addGebietsarteigenschaftByWahlart(de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft gebietsarteigenschaftByWahlart){
    try {
      if (!updateRelationship){
        updateRelationship = true;

        if (gebietsarteigenschaftByWahlart != null){
          if (this.gebietsarteigenschaftsByWahlart == null) {
            this.gebietsarteigenschaftsByWahlart = new java.util.HashSet<>();
          }

          boolean isChanged = this.gebietsarteigenschaftsByWahlart.add(gebietsarteigenschaftByWahlart);

          if(!hasChangedGebietsarteigenschaftsByWahlart) {
            hasChangedGebietsarteigenschaftsByWahlart =  isChanged;
          }

          // andere Seite der Beziehung aktualisieren
          gebietsarteigenschaftByWahlart.setWahlart(this);
        }
      }
    } finally {
      updateRelationship = false;
    }
  }

  /**
   * Entfernen von de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft
   */
  @Override
  public void removeGebietsarteigenschaftByWahlart(de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft gebietsarteigenschaftByWahlart){
    try {
      if (!updateRelationship){
        updateRelationship = true;

        if (gebietsarteigenschaftByWahlart != null){
          if (this.gebietsarteigenschaftsByWahlart != null) {
            boolean isChanged = this.gebietsarteigenschaftsByWahlart.remove(gebietsarteigenschaftByWahlart);

            if(!hasChangedGebietsarteigenschaftsByWahlart) {
              hasChangedGebietsarteigenschaftsByWahlart =  isChanged;
            }
          }

          // andere Seite der Beziehung aktualisieren
          gebietsarteigenschaftByWahlart.setWahlart(null);
        }
      }
    } finally {
      updateRelationship = false;
    }
  }

 /**
  * Entfernen von allen de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft
  */
   @Override
   public void removeAllGebietsarteigenschaftByWahlarts(){
     java.util.Set<de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft> toRemove = new java.util.HashSet<>(getGebietsarteigenschaftsByWahlart());

     for (   de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft entity:toRemove){
       removeGebietsarteigenschaftByWahlart(entity);
     }
   }

  /**
   * Beziehungen N:M bidirektional nicht selbstreferenzierend
   */


  /**
   * Beziehungen N:M bidirektional selbstreferenzierend
   */
  

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("Wahlart:");
    sb.append(getId());
    sb.append(" (TK: ");
    try {
      sb.append(getTk());
    } catch (Exception e) {
      sb.append(e.getMessage());
    }
    sb.append(")");
    return sb.toString();
}



  /**
   * Kopiert alle Attribute (ausser PK und Version) und UNIDIREKTIONALE n:1-Beziehungen in uebergebene Entitaet.
   *
   * @param other
   *
   * @deprecated Sollte nur mit Bedacht genutzt werden, da hier auch die Beziehungen kopiert werden. Deswegen markiert
   *             als Deprecated.
   */
  @Deprecated
  protected void copyEntity(Wahlart other){
                             other.maxAnzahlErsatzkandidaturen = this.maxAnzahlErsatzkandidaturen;
                                other.anzahlStimmenProWaehler = this.anzahlStimmenProWaehler;
                                other.anzahlStimmzettel = this.anzahlStimmzettel;
                                other.commonWahlart = this.commonWahlart;
                                other.dokumentvorlagen = this.dokumentvorlagen;
                                other.erfassungUebernahmeArt = this.erfassungUebernahmeArt;
                                other.erfassungUebernahmeManuell = this.erfassungUebernahmeManuell;
                                other.ergebnisartUmschaltbar = this.ergebnisartUmschaltbar;
                                other.farbe = this.farbe;
                                other.gruppenreihenfolgeVorgegeben = this.gruppenreihenfolgeVorgegeben;
                                other.gruppenvereinigungenErlaubt = this.gruppenvereinigungenErlaubt;
                                other.kennzeichen = this.kennzeichen;
                                other.kurzname = this.kurzname;
                                other.leereListenErlaubt = this.leereListenErlaubt;
                                other.listenverbindungenErlaubt = this.listenverbindungenErlaubt;
                                other.maxAnzahlNennungen = this.maxAnzahlNennungen;
                                other.name = this.name;
                                other.sitzberechnungsalgorithmus = this.sitzberechnungsalgorithmus;
                                other.anzahlStimmenProWaehlerArt = this.anzahlStimmenProWaehlerArt;
                                other.systemGebietsebene = this.systemGebietsebene;
                                other.titel = this.titel;
                                other.umgangAOhneWahlscheinEndgueltig = this.umgangAOhneWahlscheinEndgueltig;
                                other.umgangAOhneWahlscheinVorlaeufig = this.umgangAOhneWahlscheinVorlaeufig;
                                other.umgangAMitWahlscheinEndgueltig = this.umgangAMitWahlscheinEndgueltig;
                                other.umgangAMitWahlscheinVorlaeufig = this.umgangAMitWahlscheinVorlaeufig;
                                other.umgangANichtImWaehlerverzeichnisEndgueltig = this.umgangANichtImWaehlerverzeichnisEndgueltig;
                                other.umgangANichtImWaehlerverzeichnisVorlaeufig = this.umgangANichtImWaehlerverzeichnisVorlaeufig;
                                other.umgangAGesamtEndgueltig = this.umgangAGesamtEndgueltig;
                                other.umgangAGesamtVorlaeufig = this.umgangAGesamtVorlaeufig;
                                other.umgangBOhneWahlscheinEndgueltig = this.umgangBOhneWahlscheinEndgueltig;
                                other.umgangBOhneWahlscheinVorlaeufig = this.umgangBOhneWahlscheinVorlaeufig;
                                other.umgangBMitWahlscheinEndgueltig = this.umgangBMitWahlscheinEndgueltig;
                                other.umgangBMitWahlscheinVorlaeufig = this.umgangBMitWahlscheinVorlaeufig;
                                other.umgangBGesamtEndgueltig = this.umgangBGesamtEndgueltig;
                                other.umgangBGesamtVorlaeufig = this.umgangBGesamtVorlaeufig;
                                other.umgangGueltigeEndgueltig = this.umgangGueltigeEndgueltig;
                                other.umgangGueltigeVorlaeufig = this.umgangGueltigeVorlaeufig;
                                other.umgangAPruefkennzeichenEndgueltig = this.umgangAPruefkennzeichenEndgueltig;
                                other.umgangAPruefkennzeichenVorlaeufig = this.umgangAPruefkennzeichenVorlaeufig;
                                other.umgangUngueltigeEndgueltig = this.umgangUngueltigeEndgueltig;
                                other.umgangUngueltigeVorlaeufig = this.umgangUngueltigeVorlaeufig;
                                other.wahlausschussbezeichnung = this.wahlausschussbezeichnung;
                                other.wahlberechtigungImAusland = this.wahlberechtigungImAusland;
                                other.wahlbezeichnungLang = this.wahlbezeichnungLang;
                                other.zulassungspruefung = this.zulassungspruefung;
                                other.zuWaehlendesGremium = this.zuWaehlendesGremium;
           
  other.setMandant(this.getMandant());


  }



    @Override
    public void copyEntityAttributesToOtherEntity(de.ivu.elect.jee.entity.Entity other) {
      if (other==null){
        return;
      }
      if (other.isInstanceOf(Wahlart.class)){
        copyEntityAttributesUsingSetter((Wahlart) other.castTo(Wahlart.class).getEntity());
      } else {
        throw new IllegalArgumentException("Keine Instanz von Wahlart: " + other);
      }
    }

  /**
  * Kopiert alle Attribute (ausser PK und Version)  in uebergebene Entitaet.
  *
  */
  public void copyEntityAttributesUsingSetter(Wahlart other){
               other.setMaxAnzahlErsatzkandidaturen(this.maxAnzahlErsatzkandidaturen);
                  other.setAnzahlStimmenProWaehler(this.anzahlStimmenProWaehler);
                  other.setAnzahlStimmzettel(this.anzahlStimmzettel);
                  other.setCommonWahlart(this.commonWahlart);
                  other.setDokumentvorlagen(this.dokumentvorlagen);
                  other.setErfassungUebernahmeArt(this.erfassungUebernahmeArt);
                  other.setErfassungUebernahmeManuell(this.erfassungUebernahmeManuell);
                  other.setErgebnisartUmschaltbar(this.ergebnisartUmschaltbar);
                  other.setFarbe(this.farbe);
                  other.setGruppenreihenfolgeVorgegeben(this.gruppenreihenfolgeVorgegeben);
                  other.setGruppenvereinigungenErlaubt(this.gruppenvereinigungenErlaubt);
                  other.setKennzeichen(this.kennzeichen);
                  other.setKurzname(this.kurzname);
                  other.setLeereListenErlaubt(this.leereListenErlaubt);
                  other.setListenverbindungenErlaubt(this.listenverbindungenErlaubt);
                  other.setMaxAnzahlNennungen(this.maxAnzahlNennungen);
                  other.setName(this.name);
                  other.setSitzberechnungsalgorithmus(this.sitzberechnungsalgorithmus);
                  other.setAnzahlStimmenProWaehlerArt(this.anzahlStimmenProWaehlerArt);
                  other.setSystemGebietsebene(this.systemGebietsebene);
                  other.setTitel(this.titel);
                  other.setUmgangAOhneWahlscheinEndgueltig(this.umgangAOhneWahlscheinEndgueltig);
                  other.setUmgangAOhneWahlscheinVorlaeufig(this.umgangAOhneWahlscheinVorlaeufig);
                  other.setUmgangAMitWahlscheinEndgueltig(this.umgangAMitWahlscheinEndgueltig);
                  other.setUmgangAMitWahlscheinVorlaeufig(this.umgangAMitWahlscheinVorlaeufig);
                  other.setUmgangANichtImWaehlerverzeichnisEndgueltig(this.umgangANichtImWaehlerverzeichnisEndgueltig);
                  other.setUmgangANichtImWaehlerverzeichnisVorlaeufig(this.umgangANichtImWaehlerverzeichnisVorlaeufig);
                  other.setUmgangAGesamtEndgueltig(this.umgangAGesamtEndgueltig);
                  other.setUmgangAGesamtVorlaeufig(this.umgangAGesamtVorlaeufig);
                  other.setUmgangBOhneWahlscheinEndgueltig(this.umgangBOhneWahlscheinEndgueltig);
                  other.setUmgangBOhneWahlscheinVorlaeufig(this.umgangBOhneWahlscheinVorlaeufig);
                  other.setUmgangBMitWahlscheinEndgueltig(this.umgangBMitWahlscheinEndgueltig);
                  other.setUmgangBMitWahlscheinVorlaeufig(this.umgangBMitWahlscheinVorlaeufig);
                  other.setUmgangBGesamtEndgueltig(this.umgangBGesamtEndgueltig);
                  other.setUmgangBGesamtVorlaeufig(this.umgangBGesamtVorlaeufig);
                  other.setUmgangGueltigeEndgueltig(this.umgangGueltigeEndgueltig);
                  other.setUmgangGueltigeVorlaeufig(this.umgangGueltigeVorlaeufig);
                  other.setUmgangAPruefkennzeichenEndgueltig(this.umgangAPruefkennzeichenEndgueltig);
                  other.setUmgangAPruefkennzeichenVorlaeufig(this.umgangAPruefkennzeichenVorlaeufig);
                  other.setUmgangUngueltigeEndgueltig(this.umgangUngueltigeEndgueltig);
                  other.setUmgangUngueltigeVorlaeufig(this.umgangUngueltigeVorlaeufig);
                  other.setWahlausschussbezeichnung(this.wahlausschussbezeichnung);
                  other.setWahlberechtigungImAusland(this.wahlberechtigungImAusland);
                  other.setWahlbezeichnungLang(this.wahlbezeichnungLang);
                  other.setZulassungspruefung(this.zulassungspruefung);
                  other.setZuWaehlendesGremium(this.zuWaehlendesGremium);
       
  }


  /**
   * Kopiert alle veränderten Attribute (ausser PK, CustomData, wenn vorhanden und Version) in uebergebene Entitaet.
   *
   */
  public void copyChangedEntityAttributesUsingSetter(Wahlart other){
                       if (hasChangedMaxAnzahlErsatzkandidaturen) {
        other.setMaxAnzahlErsatzkandidaturen(this.maxAnzahlErsatzkandidaturen);
      }
                             if (hasChangedAnzahlStimmenProWaehler) {
        other.setAnzahlStimmenProWaehler(this.anzahlStimmenProWaehler);
      }
                             if (hasChangedAnzahlStimmzettel) {
        other.setAnzahlStimmzettel(this.anzahlStimmzettel);
      }
                             if (hasChangedCommonWahlart) {
        other.setCommonWahlart(this.commonWahlart);
      }
                             if (hasChangedDokumentvorlagen) {
        other.setDokumentvorlagen(this.dokumentvorlagen);
      }
                             if (hasChangedErfassungUebernahmeArt) {
        other.setErfassungUebernahmeArt(this.erfassungUebernahmeArt);
      }
                             if (hasChangedErfassungUebernahmeManuell) {
        other.setErfassungUebernahmeManuell(this.erfassungUebernahmeManuell);
      }
                             if (hasChangedErgebnisartUmschaltbar) {
        other.setErgebnisartUmschaltbar(this.ergebnisartUmschaltbar);
      }
                             if (hasChangedFarbe) {
        other.setFarbe(this.farbe);
      }
                             if (hasChangedGruppenreihenfolgeVorgegeben) {
        other.setGruppenreihenfolgeVorgegeben(this.gruppenreihenfolgeVorgegeben);
      }
                             if (hasChangedGruppenvereinigungenErlaubt) {
        other.setGruppenvereinigungenErlaubt(this.gruppenvereinigungenErlaubt);
      }
                             if (hasChangedKennzeichen) {
        other.setKennzeichen(this.kennzeichen);
      }
                             if (hasChangedKurzname) {
        other.setKurzname(this.kurzname);
      }
                             if (hasChangedLeereListenErlaubt) {
        other.setLeereListenErlaubt(this.leereListenErlaubt);
      }
                             if (hasChangedListenverbindungenErlaubt) {
        other.setListenverbindungenErlaubt(this.listenverbindungenErlaubt);
      }
                             if (hasChangedMaxAnzahlNennungen) {
        other.setMaxAnzahlNennungen(this.maxAnzahlNennungen);
      }
                             if (hasChangedName) {
        other.setName(this.name);
      }
                             if (hasChangedSitzberechnungsalgorithmus) {
        other.setSitzberechnungsalgorithmus(this.sitzberechnungsalgorithmus);
      }
                             if (hasChangedAnzahlStimmenProWaehlerArt) {
        other.setAnzahlStimmenProWaehlerArt(this.anzahlStimmenProWaehlerArt);
      }
                             if (hasChangedSystemGebietsebene) {
        other.setSystemGebietsebene(this.systemGebietsebene);
      }
                             if (hasChangedTitel) {
        other.setTitel(this.titel);
      }
                             if (hasChangedUmgangAOhneWahlscheinEndgueltig) {
        other.setUmgangAOhneWahlscheinEndgueltig(this.umgangAOhneWahlscheinEndgueltig);
      }
                             if (hasChangedUmgangAOhneWahlscheinVorlaeufig) {
        other.setUmgangAOhneWahlscheinVorlaeufig(this.umgangAOhneWahlscheinVorlaeufig);
      }
                             if (hasChangedUmgangAMitWahlscheinEndgueltig) {
        other.setUmgangAMitWahlscheinEndgueltig(this.umgangAMitWahlscheinEndgueltig);
      }
                             if (hasChangedUmgangAMitWahlscheinVorlaeufig) {
        other.setUmgangAMitWahlscheinVorlaeufig(this.umgangAMitWahlscheinVorlaeufig);
      }
                             if (hasChangedUmgangANichtImWaehlerverzeichnisEndgueltig) {
        other.setUmgangANichtImWaehlerverzeichnisEndgueltig(this.umgangANichtImWaehlerverzeichnisEndgueltig);
      }
                             if (hasChangedUmgangANichtImWaehlerverzeichnisVorlaeufig) {
        other.setUmgangANichtImWaehlerverzeichnisVorlaeufig(this.umgangANichtImWaehlerverzeichnisVorlaeufig);
      }
                             if (hasChangedUmgangAGesamtEndgueltig) {
        other.setUmgangAGesamtEndgueltig(this.umgangAGesamtEndgueltig);
      }
                             if (hasChangedUmgangAGesamtVorlaeufig) {
        other.setUmgangAGesamtVorlaeufig(this.umgangAGesamtVorlaeufig);
      }
                             if (hasChangedUmgangBOhneWahlscheinEndgueltig) {
        other.setUmgangBOhneWahlscheinEndgueltig(this.umgangBOhneWahlscheinEndgueltig);
      }
                             if (hasChangedUmgangBOhneWahlscheinVorlaeufig) {
        other.setUmgangBOhneWahlscheinVorlaeufig(this.umgangBOhneWahlscheinVorlaeufig);
      }
                             if (hasChangedUmgangBMitWahlscheinEndgueltig) {
        other.setUmgangBMitWahlscheinEndgueltig(this.umgangBMitWahlscheinEndgueltig);
      }
                             if (hasChangedUmgangBMitWahlscheinVorlaeufig) {
        other.setUmgangBMitWahlscheinVorlaeufig(this.umgangBMitWahlscheinVorlaeufig);
      }
                             if (hasChangedUmgangBGesamtEndgueltig) {
        other.setUmgangBGesamtEndgueltig(this.umgangBGesamtEndgueltig);
      }
                             if (hasChangedUmgangBGesamtVorlaeufig) {
        other.setUmgangBGesamtVorlaeufig(this.umgangBGesamtVorlaeufig);
      }
                             if (hasChangedUmgangGueltigeEndgueltig) {
        other.setUmgangGueltigeEndgueltig(this.umgangGueltigeEndgueltig);
      }
                             if (hasChangedUmgangGueltigeVorlaeufig) {
        other.setUmgangGueltigeVorlaeufig(this.umgangGueltigeVorlaeufig);
      }
                             if (hasChangedUmgangAPruefkennzeichenEndgueltig) {
        other.setUmgangAPruefkennzeichenEndgueltig(this.umgangAPruefkennzeichenEndgueltig);
      }
                             if (hasChangedUmgangAPruefkennzeichenVorlaeufig) {
        other.setUmgangAPruefkennzeichenVorlaeufig(this.umgangAPruefkennzeichenVorlaeufig);
      }
                             if (hasChangedUmgangUngueltigeEndgueltig) {
        other.setUmgangUngueltigeEndgueltig(this.umgangUngueltigeEndgueltig);
      }
                             if (hasChangedUmgangUngueltigeVorlaeufig) {
        other.setUmgangUngueltigeVorlaeufig(this.umgangUngueltigeVorlaeufig);
      }
                             if (hasChangedWahlausschussbezeichnung) {
        other.setWahlausschussbezeichnung(this.wahlausschussbezeichnung);
      }
                             if (hasChangedWahlberechtigungImAusland) {
        other.setWahlberechtigungImAusland(this.wahlberechtigungImAusland);
      }
                             if (hasChangedWahlbezeichnungLang) {
        other.setWahlbezeichnungLang(this.wahlbezeichnungLang);
      }
                             if (hasChangedZulassungspruefung) {
        other.setZulassungspruefung(this.zulassungspruefung);
      }
                             if (hasChangedZuWaehlendesGremium) {
        other.setZuWaehlendesGremium(this.zuWaehlendesGremium);
      }
             }





    @javax.persistence.Transient
    private transient WahlartTK tkCache;

    protected void resetTkCache() {
        tkCache = null;
    }

    public WahlartTK getWahlartTK(){
    if (tkCache==null) {
    tkCache = new WahlartTK(

getName()


  );}
  return tkCache;
}
    @Override
    public de.ivu.elect.jee.entity.tk.EntityTK getTk() {
       return getWahlartTK();
    }

  @Override
  public WahlartUK getUk(){
    return getWahlartUK();
  }

  @Override
  public Class< ? > getEntityClass() {
    return Wahlart.class;
  }

public WahlartUK getWahlartUK(){

   return  new WahlartUK(

getName()
,     getMandant()==null?null:getMandant().getMandantUK()


  );
}

  @javax.persistence.Transient
  private transient WahlartProperties properties;

  public WahlartProperties getProperties(){
    if (properties == null) {
      properties = new WahlartProperties(this);
    }
    return properties;
  }

  /**
   * @deprecated getProperties() verwenden.
   */
  @Deprecated
  public WahlartProperties getWahlartProperties(){
    return getProperties();
  }

  @Override
  public String getEntityTechnicalName() {
    return WahlartConstants.MESSAGE_KEY_ENTITY_EINZAHL;
  }

  @Override
  public boolean isAenderungenProtokollieren(){
    
    return true;
  }


    @Override
   public void setProtokollierteAttributeMitWerten(java.util.Map<String, de.ivu.elect.jee.protokollierung.AttributWertVorher> werteVorher) {
     
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_ANZAHL_ERSATZKANDIDATEN_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_ANZAHL_ERSATZKANDIDATEN_EINZAHL);

        maxAnzahlErsatzkandidaturen =
                        vorher.getAttributTyp().getValueAsLong(vorher.getWertVorher());
                  }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_ANZAHL_STIMMEN_PRO_WAEHLER_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_ANZAHL_STIMMEN_PRO_WAEHLER_EINZAHL);

        anzahlStimmenProWaehler =
                        vorher.getAttributTyp().getValueAsLong(vorher.getWertVorher());
                  }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_ANZAHL_STIMMZETTEL_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_ANZAHL_STIMMZETTEL_EINZAHL);

        anzahlStimmzettel =
                        vorher.getAttributTyp().getValueAsLong(vorher.getWertVorher());
                  }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_COMMON_WAHLART_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_COMMON_WAHLART_EINZAHL);

        commonWahlart =
     (de.ivu.elect.business.wahl.entity.CommonWahlart) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_DOKUMENTVORLAGEN_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_DOKUMENTVORLAGEN_EINZAHL);

        dokumentvorlagen =
     (de.ivu.elect.business.wahl.entity.WahlartDokumentvorlagen) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_ERFASSUNG_UEBERNAHME_ART_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_ERFASSUNG_UEBERNAHME_ART_EINZAHL);

        erfassungUebernahmeArt =
     (de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeArt) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_ERFASSUNG_UEBERNAHME_MANUELL_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_ERFASSUNG_UEBERNAHME_MANUELL_EINZAHL);

        erfassungUebernahmeManuell =
     (de.ivu.elect.business.wahl.entity.WahlErgebniseingangUebernahmeManuell) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_ERGEBNISART_UMSCHALTBAR_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_ERGEBNISART_UMSCHALTBAR_EINZAHL);

        ergebnisartUmschaltbar =
     (de.ivu.elect.business.wahl.entity.ErgebnisartUmschaltbar) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_FARBE_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_FARBE_EINZAHL);

        farbe =
     vorher.getAttributTyp().getValueAsString(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_GRUPPENREIHENFOLGE_VORGEGEBEN_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_GRUPPENREIHENFOLGE_VORGEGEBEN_EINZAHL);

        gruppenreihenfolgeVorgegeben =
     vorher.getAttributTyp().getValueAsBoolean(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_GRUPPENVEREINIGUNGEN_ERLAUBT_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_GRUPPENVEREINIGUNGEN_ERLAUBT_EINZAHL);

        gruppenvereinigungenErlaubt =
     vorher.getAttributTyp().getValueAsBoolean(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_KENNZEICHEN_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_KENNZEICHEN_EINZAHL);

        kennzeichen =
     vorher.getAttributTyp().getValueAsString(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_KURZNAME_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_KURZNAME_EINZAHL);

        kurzname =
     vorher.getAttributTyp().getValueAsString(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_LEERE_LISTEN_ERLAUBT_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_LEERE_LISTEN_ERLAUBT_EINZAHL);

        leereListenErlaubt =
     vorher.getAttributTyp().getValueAsBoolean(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_LISTENVERBINDUNGEN_ERLAUBT_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_LISTENVERBINDUNGEN_ERLAUBT_EINZAHL);

        listenverbindungenErlaubt =
     vorher.getAttributTyp().getValueAsBoolean(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_MAX_ANZAHL_NENNUNGEN_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_MAX_ANZAHL_NENNUNGEN_EINZAHL);

        maxAnzahlNennungen =
                        vorher.getAttributTyp().getValueAsLong(vorher.getWertVorher());
                  }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_NAME_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_NAME_EINZAHL);

        name =
     vorher.getAttributTyp().getValueAsString(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_SITZBERECHNUNGSALGORITHMUS_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_SITZBERECHNUNGSALGORITHMUS_EINZAHL);

        sitzberechnungsalgorithmus =
     (de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_STIMMEN_PRO_WAEHLER_ART_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_STIMMEN_PRO_WAEHLER_ART_EINZAHL);

        anzahlStimmenProWaehlerArt =
     (de.ivu.elect.business.wahl.entity.WahlartStimmenProWaehlerArt) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_SYSTEM_GEBIETSEBENE_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_SYSTEM_GEBIETSEBENE_EINZAHL);

        systemGebietsebene =
     (de.ivu.elect.business.wahl.entity.WahlartSystemGebietsebene) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_TITEL_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_TITEL_EINZAHL);

        titel =
     vorher.getAttributTyp().getValueAsString(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_A1_ENDGUELTIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_A1_ENDGUELTIG_EINZAHL);

        umgangAOhneWahlscheinEndgueltig =
     (de.ivu.elect.business.wahl.entity.UmgangAWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_A1_VORLAEUFIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_A1_VORLAEUFIG_EINZAHL);

        umgangAOhneWahlscheinVorlaeufig =
     (de.ivu.elect.business.wahl.entity.UmgangAWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_A2_ENDGUELTIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_A2_ENDGUELTIG_EINZAHL);

        umgangAMitWahlscheinEndgueltig =
     (de.ivu.elect.business.wahl.entity.UmgangAWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_A2_VORLAEUFIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_A2_VORLAEUFIG_EINZAHL);

        umgangAMitWahlscheinVorlaeufig =
     (de.ivu.elect.business.wahl.entity.UmgangAWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_A3_ENDGUELTIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_A3_ENDGUELTIG_EINZAHL);

        umgangANichtImWaehlerverzeichnisEndgueltig =
     (de.ivu.elect.business.wahl.entity.UmgangAWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_A3_VORLAEUFIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_A3_VORLAEUFIG_EINZAHL);

        umgangANichtImWaehlerverzeichnisVorlaeufig =
     (de.ivu.elect.business.wahl.entity.UmgangAWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_A_G_ENDGUELTIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_A_G_ENDGUELTIG_EINZAHL);

        umgangAGesamtEndgueltig =
     (de.ivu.elect.business.wahl.entity.UmgangAWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_A_G_VORLAEUFIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_A_G_VORLAEUFIG_EINZAHL);

        umgangAGesamtVorlaeufig =
     (de.ivu.elect.business.wahl.entity.UmgangAWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_B1_ENDGUELTIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_B1_ENDGUELTIG_EINZAHL);

        umgangBOhneWahlscheinEndgueltig =
     (de.ivu.elect.business.wahl.entity.UmgangBWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_B1_VORLAEUFIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_B1_VORLAEUFIG_EINZAHL);

        umgangBOhneWahlscheinVorlaeufig =
     (de.ivu.elect.business.wahl.entity.UmgangBWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_B2_ENDGUELTIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_B2_ENDGUELTIG_EINZAHL);

        umgangBMitWahlscheinEndgueltig =
     (de.ivu.elect.business.wahl.entity.UmgangBWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_B2_VORLAEUFIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_B2_VORLAEUFIG_EINZAHL);

        umgangBMitWahlscheinVorlaeufig =
     (de.ivu.elect.business.wahl.entity.UmgangBWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_B_G_ENDGUELTIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_B_G_ENDGUELTIG_EINZAHL);

        umgangBGesamtEndgueltig =
     (de.ivu.elect.business.wahl.entity.UmgangBWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_B_G_VORLAEUFIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_B_G_VORLAEUFIG_EINZAHL);

        umgangBGesamtVorlaeufig =
     (de.ivu.elect.business.wahl.entity.UmgangBWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_GUELTIGE_ENDGUELTIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_GUELTIGE_ENDGUELTIG_EINZAHL);

        umgangGueltigeEndgueltig =
     (de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_GUELTIGE_VORLAEUFIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_GUELTIGE_VORLAEUFIG_EINZAHL);

        umgangGueltigeVorlaeufig =
     (de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_PRUEFZEICHEN_ENDGUELTIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_PRUEFZEICHEN_ENDGUELTIG_EINZAHL);

        umgangAPruefkennzeichenEndgueltig =
     (de.ivu.elect.business.wahl.entity.UmgangAWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_PRUEFZEICHEN_VORLAEUFIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_PRUEFZEICHEN_VORLAEUFIG_EINZAHL);

        umgangAPruefkennzeichenVorlaeufig =
     (de.ivu.elect.business.wahl.entity.UmgangAWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_UNGUELTIGE_ENDGUELTIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_UNGUELTIGE_ENDGUELTIG_EINZAHL);

        umgangUngueltigeEndgueltig =
     (de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_UMGANG_UNGUELTIGE_VORLAEUFIG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_UMGANG_UNGUELTIGE_VORLAEUFIG_EINZAHL);

        umgangUngueltigeVorlaeufig =
     (de.ivu.elect.business.wahl.entity.UmgangGueltigeWerte) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_WAHLAUSSCHUSSBEZEICHNUNG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_WAHLAUSSCHUSSBEZEICHNUNG_EINZAHL);

        wahlausschussbezeichnung =
     vorher.getAttributTyp().getValueAsString(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_WAHLBERECHTIGUNG_IM_AUSLAND_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_WAHLBERECHTIGUNG_IM_AUSLAND_EINZAHL);

        wahlberechtigungImAusland =
     (de.ivu.elect.business.wahl.entity.WahlberechtigungImAusland) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_WAHLBEZEICHNUNG_LANG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_WAHLBEZEICHNUNG_LANG_EINZAHL);

        wahlbezeichnungLang =
     vorher.getAttributTyp().getValueAsString(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_ZULASSUNGSPRUEFUNG_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_ZULASSUNGSPRUEFUNG_EINZAHL);

        zulassungspruefung =
     (de.ivu.elect.business.wahl.entity.Zulassungspruefung) vorher.getAttributTyp().getValueAsEnum(vorher.getWertVorher());
          }

            
      if (werteVorher.containsKey(WahlartConstants.MESSAGE_KEY_ZU_WAEHLENDES_GREMIUM_EINZAHL)){
        de.ivu.elect.jee.protokollierung.AttributWertVorher vorher = werteVorher.get(WahlartConstants.MESSAGE_KEY_ZU_WAEHLENDES_GREMIUM_EINZAHL);

        zuWaehlendesGremium =
     vorher.getAttributTyp().getValueAsString(vorher.getWertVorher());
          }

                }

  @Override
  public java.util.Map<String, de.ivu.elect.jee.protokollierung.VorherNachherWert> getProtokollierteAttributeMitWerten() {
    java.util.Map<String,de.ivu.elect.jee.protokollierung.VorherNachherWert> result;
        result = createEmptyProtokollierteAttributeMitWertenMap();
                        if (isSeitLadenVeraendertMaxAnzahlErsatzkandidaturen) {
      result.put(WahlartConstants.MESSAGE_KEY_ANZAHL_ERSATZKANDIDATEN_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
                                    de.ivu.elect.jee.protokollierung.AttributTyp.LONG
                            , wertNachLadenMaxAnzahlErsatzkandidaturen , maxAnzahlErsatzkandidaturen));
    }
                            if (isSeitLadenVeraendertAnzahlStimmenProWaehler) {
      result.put(WahlartConstants.MESSAGE_KEY_ANZAHL_STIMMEN_PRO_WAEHLER_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
                                    de.ivu.elect.jee.protokollierung.AttributTyp.LONG
                            , wertNachLadenAnzahlStimmenProWaehler , anzahlStimmenProWaehler));
    }
                            if (isSeitLadenVeraendertAnzahlStimmzettel) {
      result.put(WahlartConstants.MESSAGE_KEY_ANZAHL_STIMMZETTEL_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
                                    de.ivu.elect.jee.protokollierung.AttributTyp.LONG
                            , wertNachLadenAnzahlStimmzettel , anzahlStimmzettel));
    }
                            if (isSeitLadenVeraendertCommonWahlart) {
      result.put(WahlartConstants.MESSAGE_KEY_COMMON_WAHLART_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenCommonWahlart , commonWahlart));
    }
                            if (isSeitLadenVeraendertDokumentvorlagen) {
      result.put(WahlartConstants.MESSAGE_KEY_DOKUMENTVORLAGEN_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenDokumentvorlagen , dokumentvorlagen));
    }
                            if (isSeitLadenVeraendertErfassungUebernahmeArt) {
      result.put(WahlartConstants.MESSAGE_KEY_ERFASSUNG_UEBERNAHME_ART_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenErfassungUebernahmeArt , erfassungUebernahmeArt));
    }
                            if (isSeitLadenVeraendertErfassungUebernahmeManuell) {
      result.put(WahlartConstants.MESSAGE_KEY_ERFASSUNG_UEBERNAHME_MANUELL_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenErfassungUebernahmeManuell , erfassungUebernahmeManuell));
    }
                            if (isSeitLadenVeraendertErgebnisartUmschaltbar) {
      result.put(WahlartConstants.MESSAGE_KEY_ERGEBNISART_UMSCHALTBAR_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenErgebnisartUmschaltbar , ergebnisartUmschaltbar));
    }
                            if (isSeitLadenVeraendertFarbe) {
      result.put(WahlartConstants.MESSAGE_KEY_FARBE_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.STRING
                , wertNachLadenFarbe , farbe));
    }
                            if (isSeitLadenVeraendertGruppenreihenfolgeVorgegeben) {
      result.put(WahlartConstants.MESSAGE_KEY_GRUPPENREIHENFOLGE_VORGEGEBEN_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.BOOLEAN
                , wertNachLadenGruppenreihenfolgeVorgegeben , gruppenreihenfolgeVorgegeben));
    }
                            if (isSeitLadenVeraendertGruppenvereinigungenErlaubt) {
      result.put(WahlartConstants.MESSAGE_KEY_GRUPPENVEREINIGUNGEN_ERLAUBT_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.BOOLEAN
                , wertNachLadenGruppenvereinigungenErlaubt , gruppenvereinigungenErlaubt));
    }
                            if (isSeitLadenVeraendertKennzeichen) {
      result.put(WahlartConstants.MESSAGE_KEY_KENNZEICHEN_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.STRING
                , wertNachLadenKennzeichen , kennzeichen));
    }
                            if (isSeitLadenVeraendertKurzname) {
      result.put(WahlartConstants.MESSAGE_KEY_KURZNAME_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.STRING
                , wertNachLadenKurzname , kurzname));
    }
                            if (isSeitLadenVeraendertLeereListenErlaubt) {
      result.put(WahlartConstants.MESSAGE_KEY_LEERE_LISTEN_ERLAUBT_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.BOOLEAN
                , wertNachLadenLeereListenErlaubt , leereListenErlaubt));
    }
                            if (isSeitLadenVeraendertListenverbindungenErlaubt) {
      result.put(WahlartConstants.MESSAGE_KEY_LISTENVERBINDUNGEN_ERLAUBT_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.BOOLEAN
                , wertNachLadenListenverbindungenErlaubt , listenverbindungenErlaubt));
    }
                            if (isSeitLadenVeraendertMaxAnzahlNennungen) {
      result.put(WahlartConstants.MESSAGE_KEY_MAX_ANZAHL_NENNUNGEN_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
                                    de.ivu.elect.jee.protokollierung.AttributTyp.LONG
                            , wertNachLadenMaxAnzahlNennungen , maxAnzahlNennungen));
    }
                            if (isSeitLadenVeraendertName) {
      result.put(WahlartConstants.MESSAGE_KEY_NAME_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.STRING
                , wertNachLadenName , name));
    }
                            if (isSeitLadenVeraendertSitzberechnungsalgorithmus) {
      result.put(WahlartConstants.MESSAGE_KEY_SITZBERECHNUNGSALGORITHMUS_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenSitzberechnungsalgorithmus , sitzberechnungsalgorithmus));
    }
                            if (isSeitLadenVeraendertAnzahlStimmenProWaehlerArt) {
      result.put(WahlartConstants.MESSAGE_KEY_STIMMEN_PRO_WAEHLER_ART_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenAnzahlStimmenProWaehlerArt , anzahlStimmenProWaehlerArt));
    }
                            if (isSeitLadenVeraendertSystemGebietsebene) {
      result.put(WahlartConstants.MESSAGE_KEY_SYSTEM_GEBIETSEBENE_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenSystemGebietsebene , systemGebietsebene));
    }
                            if (isSeitLadenVeraendertTitel) {
      result.put(WahlartConstants.MESSAGE_KEY_TITEL_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.STRING
                , wertNachLadenTitel , titel));
    }
                            if (isSeitLadenVeraendertUmgangAOhneWahlscheinEndgueltig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_A1_ENDGUELTIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangAOhneWahlscheinEndgueltig , umgangAOhneWahlscheinEndgueltig));
    }
                            if (isSeitLadenVeraendertUmgangAOhneWahlscheinVorlaeufig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_A1_VORLAEUFIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangAOhneWahlscheinVorlaeufig , umgangAOhneWahlscheinVorlaeufig));
    }
                            if (isSeitLadenVeraendertUmgangAMitWahlscheinEndgueltig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_A2_ENDGUELTIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangAMitWahlscheinEndgueltig , umgangAMitWahlscheinEndgueltig));
    }
                            if (isSeitLadenVeraendertUmgangAMitWahlscheinVorlaeufig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_A2_VORLAEUFIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangAMitWahlscheinVorlaeufig , umgangAMitWahlscheinVorlaeufig));
    }
                            if (isSeitLadenVeraendertUmgangANichtImWaehlerverzeichnisEndgueltig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_A3_ENDGUELTIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangANichtImWaehlerverzeichnisEndgueltig , umgangANichtImWaehlerverzeichnisEndgueltig));
    }
                            if (isSeitLadenVeraendertUmgangANichtImWaehlerverzeichnisVorlaeufig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_A3_VORLAEUFIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangANichtImWaehlerverzeichnisVorlaeufig , umgangANichtImWaehlerverzeichnisVorlaeufig));
    }
                            if (isSeitLadenVeraendertUmgangAGesamtEndgueltig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_A_G_ENDGUELTIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangAGesamtEndgueltig , umgangAGesamtEndgueltig));
    }
                            if (isSeitLadenVeraendertUmgangAGesamtVorlaeufig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_A_G_VORLAEUFIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangAGesamtVorlaeufig , umgangAGesamtVorlaeufig));
    }
                            if (isSeitLadenVeraendertUmgangBOhneWahlscheinEndgueltig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_B1_ENDGUELTIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangBOhneWahlscheinEndgueltig , umgangBOhneWahlscheinEndgueltig));
    }
                            if (isSeitLadenVeraendertUmgangBOhneWahlscheinVorlaeufig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_B1_VORLAEUFIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangBOhneWahlscheinVorlaeufig , umgangBOhneWahlscheinVorlaeufig));
    }
                            if (isSeitLadenVeraendertUmgangBMitWahlscheinEndgueltig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_B2_ENDGUELTIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangBMitWahlscheinEndgueltig , umgangBMitWahlscheinEndgueltig));
    }
                            if (isSeitLadenVeraendertUmgangBMitWahlscheinVorlaeufig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_B2_VORLAEUFIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangBMitWahlscheinVorlaeufig , umgangBMitWahlscheinVorlaeufig));
    }
                            if (isSeitLadenVeraendertUmgangBGesamtEndgueltig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_B_G_ENDGUELTIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangBGesamtEndgueltig , umgangBGesamtEndgueltig));
    }
                            if (isSeitLadenVeraendertUmgangBGesamtVorlaeufig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_B_G_VORLAEUFIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangBGesamtVorlaeufig , umgangBGesamtVorlaeufig));
    }
                            if (isSeitLadenVeraendertUmgangGueltigeEndgueltig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_GUELTIGE_ENDGUELTIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangGueltigeEndgueltig , umgangGueltigeEndgueltig));
    }
                            if (isSeitLadenVeraendertUmgangGueltigeVorlaeufig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_GUELTIGE_VORLAEUFIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangGueltigeVorlaeufig , umgangGueltigeVorlaeufig));
    }
                            if (isSeitLadenVeraendertUmgangAPruefkennzeichenEndgueltig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_PRUEFZEICHEN_ENDGUELTIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangAPruefkennzeichenEndgueltig , umgangAPruefkennzeichenEndgueltig));
    }
                            if (isSeitLadenVeraendertUmgangAPruefkennzeichenVorlaeufig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_PRUEFZEICHEN_VORLAEUFIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangAPruefkennzeichenVorlaeufig , umgangAPruefkennzeichenVorlaeufig));
    }
                            if (isSeitLadenVeraendertUmgangUngueltigeEndgueltig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_UNGUELTIGE_ENDGUELTIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangUngueltigeEndgueltig , umgangUngueltigeEndgueltig));
    }
                            if (isSeitLadenVeraendertUmgangUngueltigeVorlaeufig) {
      result.put(WahlartConstants.MESSAGE_KEY_UMGANG_UNGUELTIGE_VORLAEUFIG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenUmgangUngueltigeVorlaeufig , umgangUngueltigeVorlaeufig));
    }
                            if (isSeitLadenVeraendertWahlausschussbezeichnung) {
      result.put(WahlartConstants.MESSAGE_KEY_WAHLAUSSCHUSSBEZEICHNUNG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.STRING
                , wertNachLadenWahlausschussbezeichnung , wahlausschussbezeichnung));
    }
                            if (isSeitLadenVeraendertWahlberechtigungImAusland) {
      result.put(WahlartConstants.MESSAGE_KEY_WAHLBERECHTIGUNG_IM_AUSLAND_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenWahlberechtigungImAusland , wahlberechtigungImAusland));
    }
                            if (isSeitLadenVeraendertWahlbezeichnungLang) {
      result.put(WahlartConstants.MESSAGE_KEY_WAHLBEZEICHNUNG_LANG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.STRING
                , wertNachLadenWahlbezeichnungLang , wahlbezeichnungLang));
    }
                            if (isSeitLadenVeraendertZulassungspruefung) {
      result.put(WahlartConstants.MESSAGE_KEY_ZULASSUNGSPRUEFUNG_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.ENUM
                , wertNachLadenZulassungspruefung , zulassungspruefung));
    }
                            if (isSeitLadenVeraendertZuWaehlendesGremium) {
      result.put(WahlartConstants.MESSAGE_KEY_ZU_WAEHLENDES_GREMIUM_EINZAHL, new de.ivu.elect.jee.protokollierung.VorherNachherWert(
         de.ivu.elect.jee.protokollierung.AttributTyp.STRING
                , wertNachLadenZuWaehlendesGremium , zuWaehlendesGremium));
    }
                return result;
  }

  @Override
  public void resetProtokollierteAttribute() {
                      isSeitLadenVeraendertMaxAnzahlErsatzkandidaturen = false;
      wertNachLadenMaxAnzahlErsatzkandidaturen = null;
                          isSeitLadenVeraendertAnzahlStimmenProWaehler = false;
      wertNachLadenAnzahlStimmenProWaehler = null;
                          isSeitLadenVeraendertAnzahlStimmzettel = false;
      wertNachLadenAnzahlStimmzettel = null;
                          isSeitLadenVeraendertCommonWahlart = false;
      wertNachLadenCommonWahlart = null;
                          isSeitLadenVeraendertDokumentvorlagen = false;
      wertNachLadenDokumentvorlagen = null;
                          isSeitLadenVeraendertErfassungUebernahmeArt = false;
      wertNachLadenErfassungUebernahmeArt = null;
                          isSeitLadenVeraendertErfassungUebernahmeManuell = false;
      wertNachLadenErfassungUebernahmeManuell = null;
                          isSeitLadenVeraendertErgebnisartUmschaltbar = false;
      wertNachLadenErgebnisartUmschaltbar = null;
                          isSeitLadenVeraendertFarbe = false;
      wertNachLadenFarbe = null;
                          isSeitLadenVeraendertGruppenreihenfolgeVorgegeben = false;
      wertNachLadenGruppenreihenfolgeVorgegeben = null;
                          isSeitLadenVeraendertGruppenvereinigungenErlaubt = false;
      wertNachLadenGruppenvereinigungenErlaubt = null;
                          isSeitLadenVeraendertKennzeichen = false;
      wertNachLadenKennzeichen = null;
                          isSeitLadenVeraendertKurzname = false;
      wertNachLadenKurzname = null;
                          isSeitLadenVeraendertLeereListenErlaubt = false;
      wertNachLadenLeereListenErlaubt = null;
                          isSeitLadenVeraendertListenverbindungenErlaubt = false;
      wertNachLadenListenverbindungenErlaubt = null;
                          isSeitLadenVeraendertMaxAnzahlNennungen = false;
      wertNachLadenMaxAnzahlNennungen = null;
                          isSeitLadenVeraendertName = false;
      wertNachLadenName = null;
                          isSeitLadenVeraendertSitzberechnungsalgorithmus = false;
      wertNachLadenSitzberechnungsalgorithmus = null;
                          isSeitLadenVeraendertAnzahlStimmenProWaehlerArt = false;
      wertNachLadenAnzahlStimmenProWaehlerArt = null;
                          isSeitLadenVeraendertSystemGebietsebene = false;
      wertNachLadenSystemGebietsebene = null;
                          isSeitLadenVeraendertTitel = false;
      wertNachLadenTitel = null;
                          isSeitLadenVeraendertUmgangAOhneWahlscheinEndgueltig = false;
      wertNachLadenUmgangAOhneWahlscheinEndgueltig = null;
                          isSeitLadenVeraendertUmgangAOhneWahlscheinVorlaeufig = false;
      wertNachLadenUmgangAOhneWahlscheinVorlaeufig = null;
                          isSeitLadenVeraendertUmgangAMitWahlscheinEndgueltig = false;
      wertNachLadenUmgangAMitWahlscheinEndgueltig = null;
                          isSeitLadenVeraendertUmgangAMitWahlscheinVorlaeufig = false;
      wertNachLadenUmgangAMitWahlscheinVorlaeufig = null;
                          isSeitLadenVeraendertUmgangANichtImWaehlerverzeichnisEndgueltig = false;
      wertNachLadenUmgangANichtImWaehlerverzeichnisEndgueltig = null;
                          isSeitLadenVeraendertUmgangANichtImWaehlerverzeichnisVorlaeufig = false;
      wertNachLadenUmgangANichtImWaehlerverzeichnisVorlaeufig = null;
                          isSeitLadenVeraendertUmgangAGesamtEndgueltig = false;
      wertNachLadenUmgangAGesamtEndgueltig = null;
                          isSeitLadenVeraendertUmgangAGesamtVorlaeufig = false;
      wertNachLadenUmgangAGesamtVorlaeufig = null;
                          isSeitLadenVeraendertUmgangBOhneWahlscheinEndgueltig = false;
      wertNachLadenUmgangBOhneWahlscheinEndgueltig = null;
                          isSeitLadenVeraendertUmgangBOhneWahlscheinVorlaeufig = false;
      wertNachLadenUmgangBOhneWahlscheinVorlaeufig = null;
                          isSeitLadenVeraendertUmgangBMitWahlscheinEndgueltig = false;
      wertNachLadenUmgangBMitWahlscheinEndgueltig = null;
                          isSeitLadenVeraendertUmgangBMitWahlscheinVorlaeufig = false;
      wertNachLadenUmgangBMitWahlscheinVorlaeufig = null;
                          isSeitLadenVeraendertUmgangBGesamtEndgueltig = false;
      wertNachLadenUmgangBGesamtEndgueltig = null;
                          isSeitLadenVeraendertUmgangBGesamtVorlaeufig = false;
      wertNachLadenUmgangBGesamtVorlaeufig = null;
                          isSeitLadenVeraendertUmgangGueltigeEndgueltig = false;
      wertNachLadenUmgangGueltigeEndgueltig = null;
                          isSeitLadenVeraendertUmgangGueltigeVorlaeufig = false;
      wertNachLadenUmgangGueltigeVorlaeufig = null;
                          isSeitLadenVeraendertUmgangAPruefkennzeichenEndgueltig = false;
      wertNachLadenUmgangAPruefkennzeichenEndgueltig = null;
                          isSeitLadenVeraendertUmgangAPruefkennzeichenVorlaeufig = false;
      wertNachLadenUmgangAPruefkennzeichenVorlaeufig = null;
                          isSeitLadenVeraendertUmgangUngueltigeEndgueltig = false;
      wertNachLadenUmgangUngueltigeEndgueltig = null;
                          isSeitLadenVeraendertUmgangUngueltigeVorlaeufig = false;
      wertNachLadenUmgangUngueltigeVorlaeufig = null;
                          isSeitLadenVeraendertWahlausschussbezeichnung = false;
      wertNachLadenWahlausschussbezeichnung = null;
                          isSeitLadenVeraendertWahlberechtigungImAusland = false;
      wertNachLadenWahlberechtigungImAusland = null;
                          isSeitLadenVeraendertWahlbezeichnungLang = false;
      wertNachLadenWahlbezeichnungLang = null;
                          isSeitLadenVeraendertZulassungspruefung = false;
      wertNachLadenZulassungspruefung = null;
                          isSeitLadenVeraendertZuWaehlendesGremium = false;
      wertNachLadenZuWaehlendesGremium = null;
                   }

  @Override
  public  java.util.List<de.ivu.elect.jee.entity.EntityFachlichAbhaengigNode> getFachlichAbhaengigeEntitaeten(){
            java.util.List<de.ivu.elect.jee.entity.EntityFachlichAbhaengigNode> result = new java.util.ArrayList<>();
                    return result;
  }

        
            protected String getInitialDiscriminator() {
              return "WAHLART";
            }

            @Override
            public boolean isInstanceOf(Class<?> clazz) {
            return clazz.isInstance(this);
            }


            @Override
            public <E> de.ivu.elect.jee.entity.EntityContainer<E> castTo(Class<E> clazz) {
                return new de.ivu.elect.jee.entity.EntityContainer<>((E)this); // EntityContainer ist notwendig, da sonst von Hibernate die Entität wieder durch ihren Proxy ersetzt wird...
            }

  public boolean isPersistent() {
    return getId() != null;
  }


   private static final String BASE_CLASS_NAME = "Wahlart";
   @Override
   public String getBaseClassName() {
     return BASE_CLASS_NAME;
   }


    @Override
    public boolean equals(Object obj) {
    if (obj == null) {
    return false;
    }

    if (this==obj) {
    return true;
    }


    if (id != null) {
      try {
        return id.longValue() == ((de.ivu.elect.jee.entity.Entity) obj).getId().longValue() && BASE_CLASS_NAME.equals(((de.ivu.elect.jee.entity.Entity) obj).getBaseClassName());
      } catch (Exception ignored) {
        // do nothing
        return false;
      }
    }
   return super.equals(obj);
    }

    @Override
    public int hashCode() {

      if (id==null){
        return super.hashCode();
      }
      return id.hashCode();
    }


                            @javax.persistence.Transient
                private transient java.util.Set
            <String> dirtyProperties = null;

                protected void markDirty(String property) {
            
          }

          public java.util.Set
      <String> getDirtyProperties() {
          if (dirtyProperties==null){
          dirtyProperties = new java.util.HashSet<>();
          }
          return dirtyProperties;
          }

          public void clearDirtyProperties(){
          dirtyProperties = null;
          }
          public boolean isHibernateDirty() {
            return dirtyProperties!=null;
          }

      
                public void resetValidation() {
        
    validationResult = null;
        }

        @javax.persistence.Transient
        private transient java.util.Set<de.ivu.elect.jee.entity.EntityConstraintViolation> validationResult;

                    public java.util.Set<de.ivu.elect.jee.entity.EntityConstraintViolation> validateEntity() {
            if (validationResult==null) {
               validationResult  = new java.util.HashSet<>();
                                                                   de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(maxAnzahlErsatzkandidaturen, this, WahlartConstants.MESSAGE_KEY_ANZAHL_ERSATZKANDIDATEN_EINZAHL, validationResult);
                                                                          de.ivu.elect.jee.entity.EntityConstraintCheck.checkValueRange(WahlartConstants.ANZAHL_ERSATZKANDIDATEN_MAX_VALUE, WahlartConstants.ANZAHL_ERSATZKANDIDATEN_MIN_VALUE, maxAnzahlErsatzkandidaturen, this, WahlartConstants.MESSAGE_KEY_ANZAHL_ERSATZKANDIDATEN_EINZAHL, validationResult);
                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(anzahlStimmenProWaehler, this, WahlartConstants.MESSAGE_KEY_ANZAHL_STIMMEN_PRO_WAEHLER_EINZAHL, validationResult);
                                                                          de.ivu.elect.jee.entity.EntityConstraintCheck.checkValueRange(WahlartConstants.ANZAHL_STIMMEN_PRO_WAEHLER_MAX_VALUE, WahlartConstants.ANZAHL_STIMMEN_PRO_WAEHLER_MIN_VALUE, anzahlStimmenProWaehler, this, WahlartConstants.MESSAGE_KEY_ANZAHL_STIMMEN_PRO_WAEHLER_EINZAHL, validationResult);
                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(anzahlStimmzettel, this, WahlartConstants.MESSAGE_KEY_ANZAHL_STIMMZETTEL_EINZAHL, validationResult);
                                                                          de.ivu.elect.jee.entity.EntityConstraintCheck.checkValueRange(WahlartConstants.ANZAHL_STIMMZETTEL_MAX_VALUE, WahlartConstants.ANZAHL_STIMMZETTEL_MIN_VALUE, anzahlStimmzettel, this, WahlartConstants.MESSAGE_KEY_ANZAHL_STIMMZETTEL_EINZAHL, validationResult);
                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(commonWahlart, this, WahlartConstants.MESSAGE_KEY_COMMON_WAHLART_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(dokumentvorlagen, this, WahlartConstants.MESSAGE_KEY_DOKUMENTVORLAGEN_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(erfassungUebernahmeArt, this, WahlartConstants.MESSAGE_KEY_ERFASSUNG_UEBERNAHME_ART_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(erfassungUebernahmeManuell, this, WahlartConstants.MESSAGE_KEY_ERFASSUNG_UEBERNAHME_MANUELL_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(ergebnisartUmschaltbar, this, WahlartConstants.MESSAGE_KEY_ERGEBNISART_UMSCHALTBAR_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(farbe, this, WahlartConstants.MESSAGE_KEY_FARBE_EINZAHL, validationResult);
                                                                          de.ivu.elect.jee.entity.EntityConstraintCheck.checkStringLength(WahlartConstants.FARBE_MAX_LENGTH , 1 ,  farbe, this, WahlartConstants.MESSAGE_KEY_FARBE_EINZAHL, validationResult);
                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(gruppenreihenfolgeVorgegeben, this, WahlartConstants.MESSAGE_KEY_GRUPPENREIHENFOLGE_VORGEGEBEN_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(gruppenvereinigungenErlaubt, this, WahlartConstants.MESSAGE_KEY_GRUPPENVEREINIGUNGEN_ERLAUBT_EINZAHL, validationResult);
                                                                                                                                   de.ivu.elect.jee.entity.EntityConstraintCheck.checkStringLength(WahlartConstants.KENNZEICHEN_MAX_LENGTH ,  kennzeichen, this, WahlartConstants.MESSAGE_KEY_KENNZEICHEN_EINZAHL, validationResult);
                                                                                                   de.ivu.elect.jee.entity.EntityConstraintCheck.checkStringLength(WahlartConstants.KURZNAME_MAX_LENGTH ,  kurzname, this, WahlartConstants.MESSAGE_KEY_KURZNAME_EINZAHL, validationResult);
                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(leereListenErlaubt, this, WahlartConstants.MESSAGE_KEY_LEERE_LISTEN_ERLAUBT_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(listenverbindungenErlaubt, this, WahlartConstants.MESSAGE_KEY_LISTENVERBINDUNGEN_ERLAUBT_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(maxAnzahlNennungen, this, WahlartConstants.MESSAGE_KEY_MAX_ANZAHL_NENNUNGEN_EINZAHL, validationResult);
                                                                          de.ivu.elect.jee.entity.EntityConstraintCheck.checkValueRange(WahlartConstants.MAX_ANZAHL_NENNUNGEN_MAX_VALUE, WahlartConstants.MAX_ANZAHL_NENNUNGEN_MIN_VALUE, maxAnzahlNennungen, this, WahlartConstants.MESSAGE_KEY_MAX_ANZAHL_NENNUNGEN_EINZAHL, validationResult);
                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(name, this, WahlartConstants.MESSAGE_KEY_NAME_EINZAHL, validationResult);
                                                                          de.ivu.elect.jee.entity.EntityConstraintCheck.checkStringLength(WahlartConstants.NAME_MAX_LENGTH , 1 ,  name, this, WahlartConstants.MESSAGE_KEY_NAME_EINZAHL, validationResult);
                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(sitzberechnungsalgorithmus, this, WahlartConstants.MESSAGE_KEY_SITZBERECHNUNGSALGORITHMUS_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(anzahlStimmenProWaehlerArt, this, WahlartConstants.MESSAGE_KEY_STIMMEN_PRO_WAEHLER_ART_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(systemGebietsebene, this, WahlartConstants.MESSAGE_KEY_SYSTEM_GEBIETSEBENE_EINZAHL, validationResult);
                                                                                                                                   de.ivu.elect.jee.entity.EntityConstraintCheck.checkStringLength(WahlartConstants.TITEL_MAX_LENGTH ,  titel, this, WahlartConstants.MESSAGE_KEY_TITEL_EINZAHL, validationResult);
                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangAOhneWahlscheinEndgueltig, this, WahlartConstants.MESSAGE_KEY_UMGANG_A1_ENDGUELTIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangAOhneWahlscheinVorlaeufig, this, WahlartConstants.MESSAGE_KEY_UMGANG_A1_VORLAEUFIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangAMitWahlscheinEndgueltig, this, WahlartConstants.MESSAGE_KEY_UMGANG_A2_ENDGUELTIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangAMitWahlscheinVorlaeufig, this, WahlartConstants.MESSAGE_KEY_UMGANG_A2_VORLAEUFIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangANichtImWaehlerverzeichnisEndgueltig, this, WahlartConstants.MESSAGE_KEY_UMGANG_A3_ENDGUELTIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangANichtImWaehlerverzeichnisVorlaeufig, this, WahlartConstants.MESSAGE_KEY_UMGANG_A3_VORLAEUFIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangAGesamtEndgueltig, this, WahlartConstants.MESSAGE_KEY_UMGANG_A_G_ENDGUELTIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangAGesamtVorlaeufig, this, WahlartConstants.MESSAGE_KEY_UMGANG_A_G_VORLAEUFIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangBOhneWahlscheinEndgueltig, this, WahlartConstants.MESSAGE_KEY_UMGANG_B1_ENDGUELTIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangBOhneWahlscheinVorlaeufig, this, WahlartConstants.MESSAGE_KEY_UMGANG_B1_VORLAEUFIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangBMitWahlscheinEndgueltig, this, WahlartConstants.MESSAGE_KEY_UMGANG_B2_ENDGUELTIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangBMitWahlscheinVorlaeufig, this, WahlartConstants.MESSAGE_KEY_UMGANG_B2_VORLAEUFIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangBGesamtEndgueltig, this, WahlartConstants.MESSAGE_KEY_UMGANG_B_G_ENDGUELTIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangBGesamtVorlaeufig, this, WahlartConstants.MESSAGE_KEY_UMGANG_B_G_VORLAEUFIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangGueltigeEndgueltig, this, WahlartConstants.MESSAGE_KEY_UMGANG_GUELTIGE_ENDGUELTIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangGueltigeVorlaeufig, this, WahlartConstants.MESSAGE_KEY_UMGANG_GUELTIGE_VORLAEUFIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangAPruefkennzeichenEndgueltig, this, WahlartConstants.MESSAGE_KEY_UMGANG_PRUEFZEICHEN_ENDGUELTIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangAPruefkennzeichenVorlaeufig, this, WahlartConstants.MESSAGE_KEY_UMGANG_PRUEFZEICHEN_VORLAEUFIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangUngueltigeEndgueltig, this, WahlartConstants.MESSAGE_KEY_UMGANG_UNGUELTIGE_ENDGUELTIG_EINZAHL, validationResult);
                                                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(umgangUngueltigeVorlaeufig, this, WahlartConstants.MESSAGE_KEY_UMGANG_UNGUELTIGE_VORLAEUFIG_EINZAHL, validationResult);
                                                                                                                                   de.ivu.elect.jee.entity.EntityConstraintCheck.checkStringLength(WahlartConstants.WAHLAUSSCHUSSBEZEICHNUNG_MAX_LENGTH ,  wahlausschussbezeichnung, this, WahlartConstants.MESSAGE_KEY_WAHLAUSSCHUSSBEZEICHNUNG_EINZAHL, validationResult);
                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(wahlberechtigungImAusland, this, WahlartConstants.MESSAGE_KEY_WAHLBERECHTIGUNG_IM_AUSLAND_EINZAHL, validationResult);
                                                                                                                                   de.ivu.elect.jee.entity.EntityConstraintCheck.checkStringLength(WahlartConstants.WAHLBEZEICHNUNG_LANG_MAX_LENGTH ,  wahlbezeichnungLang, this, WahlartConstants.MESSAGE_KEY_WAHLBEZEICHNUNG_LANG_EINZAHL, validationResult);
                                                           de.ivu.elect.jee.entity.EntityConstraintCheck.checkNotNull(zulassungspruefung, this, WahlartConstants.MESSAGE_KEY_ZULASSUNGSPRUEFUNG_EINZAHL, validationResult);
                                                                                                                                   de.ivu.elect.jee.entity.EntityConstraintCheck.checkStringLength(WahlartConstants.ZU_WAEHLENDES_GREMIUM_MAX_LENGTH ,  zuWaehlendesGremium, this, WahlartConstants.MESSAGE_KEY_ZU_WAEHLENDES_GREMIUM_EINZAHL, validationResult);
                                    }
             return validationResult;
        }

            
        @javax.persistence.Transient
        private transient java.util.Map<String, Object> transientContext;

        public java.util.Map<String, Object> getTransientContext() {
          if (transientContext == null) {
             transientContext = new java.util.HashMap<>();
          }
        return transientContext;

        }

              }
