/*
 * JPA2 entity template for JEE6
 *
 *
 * Takatuka - Template fuer JPA JEE6
 *
 * Moeglichkeiten und Einschraenkungen:
 * - Beziehungen werden abgebildet
 * -- es gibt keine 1:1 Beziehungen
 * -- N:M Beziehungen sind immer bidirektional
 * - Vererbung wird nicht unterstuetzt
 */

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

public interface GebietBase extends 
de.ivu.elect.jee.entity.customdata.CustomDataEntity<GebietPK, GebietUK>

{

  
  /**
   * getter for primary key wrapper GEBIET.gebiet_id
   *
   * @return
   */
  @Override
  GebietPK getPk();
    

  /**
   * ATTRIBUTE
   */

    

  /**
   * 
   *
   * getter for GEBIET.ANZAHL_SITZE
   *
   */
  java.lang.Long getAnzahlSitze();

  /**
   * 
   *
   * setter for GEBIET.ANZAHL_SITZE
   *
   * @param anzahlSitze
   */
  void setAnzahlSitze(java.lang.Long anzahlSitze);
      

  /**
   * 
   *
   * getter for GEBIET.ANZAHL_STIMMEN_PRO_WAEHLER
   *
   */
  java.lang.Long getAnzahlStimmenProWaehler();

  /**
   * 
   *
   * setter for GEBIET.ANZAHL_STIMMEN_PRO_WAEHLER
   *
   * @param anzahlStimmenProWaehler
   */
  void setAnzahlStimmenProWaehler(java.lang.Long anzahlStimmenProWaehler);
      

  /**
   * 
   *
   * getter for GEBIET.ANZAHL_WAHLBERECHTIGTER_VL
   *
   */
  java.lang.Long getAnzahlWahlberechtigteVorlaeufig();

  /**
   * 
   *
   * setter for GEBIET.ANZAHL_WAHLBERECHTIGTER_VL
   *
   * @param anzahlWahlberechtigteVorlaeufig
   */
  void setAnzahlWahlberechtigteVorlaeufig(java.lang.Long anzahlWahlberechtigteVorlaeufig);
      

  /**
   * 
   *
   * getter for GEBIET.AUSWAHLBEZIRK
   *
   */
  java.lang.Boolean getAuswahlbezirk();

  /**
   * 
   *
   * setter for GEBIET.AUSWAHLBEZIRK
   *
   * @param auswahlbezirk
   */
  void setAuswahlbezirk(java.lang.Boolean auswahlbezirk);
      

  /**
   * 
   *
   * getter for GEBIET.BEWEGLICHER_WAHLVORSTAND
   *
   */
  java.lang.Boolean getBeweglicherWahlvorstand();

  /**
   * 
   *
   * setter for GEBIET.BEWEGLICHER_WAHLVORSTAND
   *
   * @param beweglicherWahlvorstand
   */
  void setBeweglicherWahlvorstand(java.lang.Boolean beweglicherWahlvorstand);
      

  /**
   * Discriminator column for generalization
   *
   * getter for GEBIET.DISCRIMINATOR
   *
   */
  java.lang.String getDiscriminator();

  /**
   * Discriminator column for generalization
   *
   * setter for GEBIET.DISCRIMINATOR
   *
   * @param discriminator
   */
  void setDiscriminator(java.lang.String discriminator);
      

  /**
   * 
   *
   * getter for GEBIET.ERFORDERLICHE_UNTERSTUETZER
   *
   */
  java.lang.Long getAnzahlErforderlicherUnterstuetzer();

  /**
   * 
   *
   * setter for GEBIET.ERFORDERLICHE_UNTERSTUETZER
   *
   * @param anzahlErforderlicherUnterstuetzer
   */
  void setAnzahlErforderlicherUnterstuetzer(java.lang.Long anzahlErforderlicherUnterstuetzer);
      

  /**
   * 
   *
   * getter for GEBIET.EXTERNE_ID
   *
   */
  java.lang.String getExterneId();

  /**
   * 
   *
   * setter for GEBIET.EXTERNE_ID
   *
   * @param externeId
   */
  void setExterneId(java.lang.String externeId);
      

  /**
   * 
   *
   * getter for GEBIET.EXTERNE_ID_SALT
   *
   */
  java.lang.String getExterneIdSalt();

  /**
   * 
   *
   * setter for GEBIET.EXTERNE_ID_SALT
   *
   * @param externeIdSalt
   */
  void setExterneIdSalt(java.lang.String externeIdSalt);
      

  /**
   * 
   *
   * getter for GEBIET.KUERZEL
   *
   */
  java.lang.String getKuerzel();

  /**
   * 
   *
   * setter for GEBIET.KUERZEL
   *
   * @param kuerzel
   */
  void setKuerzel(java.lang.String kuerzel);
      

  /**
   * 
   *
   * getter for GEBIET.NAME
   *
   */
  java.lang.String getName();

  /**
   * 
   *
   * setter for GEBIET.NAME
   *
   * @param name
   */
  void setName(java.lang.String name);
      

  /**
   * 
   *
   * getter for GEBIET.NUMMER
   *
   */
  java.lang.String getNummer();

  /**
   * 
   *
   * setter for GEBIET.NUMMER
   *
   * @param nummer
   */
  void setNummer(java.lang.String nummer);
      

  /**
   * 
   *
   * getter for GEBIET.NUMMER_BEZIRK
   *
   */
  java.lang.String getNummerBezirk();

  /**
   * 
   *
   * setter for GEBIET.NUMMER_BEZIRK
   *
   * @param nummerBezirk
   */
  void setNummerBezirk(java.lang.String nummerBezirk);
      

  /**
   * 
   *
   * getter for GEBIET.POSITION
   *
   */
  java.lang.Long getPosition();

  /**
   * 
   *
   * setter for GEBIET.POSITION
   *
   * @param position
   */
  void setPosition(java.lang.Long position);
      

  /**
   * 
   *
   * getter for GEBIET.SONDERSTIMMBEZIRK
   *
   */
  java.lang.Boolean getSonderstimmbezirk();

  /**
   * 
   *
   * setter for GEBIET.SONDERSTIMMBEZIRK
   *
   * @param sonderstimmbezirk
   */
  void setSonderstimmbezirk(java.lang.Boolean sonderstimmbezirk);
      

  /**
   * 
   *
   * getter for GEBIET.UMFRAGEBEZIRK
   *
   */
  java.lang.Boolean getUmfragebezirk();

  /**
   * 
   *
   * setter for GEBIET.UMFRAGEBEZIRK
   *
   * @param umfragebezirk
   */
  void setUmfragebezirk(java.lang.Boolean umfragebezirk);
      

  /**
   * 
   *
   * getter for GEBIET.WAHLBETEILIGUNGSBEZIRK
   *
   */
  java.lang.Boolean getWahlbeteiligungsbezirk();

  /**
   * 
   *
   * setter for GEBIET.WAHLBETEILIGUNGSBEZIRK
   *
   * @param wahlbeteiligungsbezirk
   */
  void setWahlbeteiligungsbezirk(java.lang.Boolean wahlbeteiligungsbezirk);
  
/**
 * Beziehungen N:1 unidirektional
 */

  /**
   * 
   */
  void setAnschrift(de.ivu.elect.business.anschrift.entity.Anschrift anschrift);

  /**
   * 
   */
  de.ivu.elect.business.anschrift.entity.Anschrift getAnschrift();



  /**
   * 
   */
  void setAnsprechpartner(de.ivu.elect.business.person.entity.Personendaten ansprechpartner);

  /**
   * 
   */
  de.ivu.elect.business.person.entity.Personendaten getAnsprechpartner();



  /**
   * 
   */
  void setBearbeitenRolle(de.ivu.elect.business.benutzerverwaltung.entity.Rolle bearbeitenRolle);

  /**
   * 
   */
  de.ivu.elect.business.benutzerverwaltung.entity.Rolle getBearbeitenRolle();



  /**
   * 
   */
  void setCustomDataStorage(de.ivu.elect.business.customdata.entity.CustomDataStorage customDataStorage);

  /**
   * 
   */
  de.ivu.elect.business.customdata.entity.CustomDataStorage getCustomDataStorage();



  /**
   * 
   */
  void setEinsehenRolle(de.ivu.elect.business.benutzerverwaltung.entity.Rolle einsehenRolle);

  /**
   * 
   */
  de.ivu.elect.business.benutzerverwaltung.entity.Rolle getEinsehenRolle();



  /**
   * 
   */
  void setGebietsart(de.ivu.elect.business.gebietsbaum.entity.Gebietsart gebietsart);

  /**
   * 
   */
  de.ivu.elect.business.gebietsbaum.entity.Gebietsart getGebietsart();



  /**
   * 
   */
  void setVerantwortlicherMandant(de.ivu.elect.business.mandant.entity.Mandant verantwortlicherMandant);

  /**
   * 
   */
  de.ivu.elect.business.mandant.entity.Mandant getVerantwortlicherMandant();



  /**
   * 
   */
  void setWahltermin(de.ivu.elect.business.wahl.entity.Wahltermin wahltermin);

  /**
   * 
   */
  de.ivu.elect.business.wahl.entity.Wahltermin getWahltermin();



  /**
   * 
   */
  void setWahl(de.ivu.elect.business.wahl.entity.Wahl wahl);

  /**
   * 
   */
  de.ivu.elect.business.wahl.entity.Wahl getWahl();



/**
 * Beziehungen N:1 bidirektional
 */

  /**
   * 
   */
  void setUebergeordnetesGebiet(de.ivu.elect.business.gebietsbaum.entity.Gebiet uebergeordnetesGebiet);


/**
 * 
 * Kein Update der bidirektionalen Beziehung - schneller, aber mit Vorsicht zu genießen
 */
   void setUebergeordnetesGebietOhneUpdateBeziehung(de.ivu.elect.business.gebietsbaum.entity.Gebiet uebergeordnetesGebiet);

/**
   * 
   */
  de.ivu.elect.business.gebietsbaum.entity.Gebiet getUebergeordnetesGebiet();




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

/**
 * Beziehungen 1:N bidirektional
   */

  /**
  * getter muss read-only verwendet werden, da die Beziehung auf der anderen Seite nicht aktualisiert wird!
  */
  java.util.Set<de.ivu.elect.business.gebietsbaum.entity.Gebiet> getGebiets();

  /**
  * Hinzufuegen von de.ivu.elect.business.gebietsbaum.entity.Gebiet
  */
  void addGebiet(de.ivu.elect.business.gebietsbaum.entity.Gebiet gebiet);

  /**
  * Entfernen von de.ivu.elect.business.gebietsbaum.entity.Gebiet
  */
  void removeGebiet(de.ivu.elect.business.gebietsbaum.entity.Gebiet gebiet);

 /**
  * Entfernen von allen de.ivu.elect.business.gebietsbaum.entity.Gebiet
  */
   void removeAllGebiets();


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

  /**
  * getter muss read-only verwendet werden, da die Beziehung auf der anderen Seite nicht aktualisiert wird!
  */
  java.util.Set<de.ivu.elect.business.gebietsbaum.entity.Gebietsgruppierung> getGebietsgruppierungs();

 /**
  * Hinzufuegen von de.ivu.elect.business.gebietsbaum.entity.Gebietsgruppierung
  */
  void addGebietsgruppierung(de.ivu.elect.business.gebietsbaum.entity.Gebietsgruppierung gebietsgruppierung);

  /**
  * Entfernen von de.ivu.elect.business.gebietsbaum.entity.Gebietsgruppierung
  */
  void removeGebietsgruppierung(de.ivu.elect.business.gebietsbaum.entity.Gebietsgruppierung gebietsgruppierung);

 /**
  * Entfernen von allen  de.ivu.elect.business.gebietsbaum.entity.Gebietsgruppierung
  */
  void removeAllGebietsgruppierungs();


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