/*
 * 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.veranstaltung.entity;

public interface VeranstaltungBase extends 
de.ivu.elect.jee.entity.customdata.CustomDataEntity<VeranstaltungPK, VeranstaltungUK>

{

  
  /**
   * getter for primary key wrapper VERANSTALTUNG.veranstaltung_id
   *
   * @return
   */
  @Override
  VeranstaltungPK getPk();
    

  /**
   * ATTRIBUTE
   */

    

  /**
   * 
   *
   * getter for VERANSTALTUNG.BEGINN
   *
   */
  java.util.Date getBeginn();

  /**
   * 
   *
   * setter for VERANSTALTUNG.BEGINN
   *
   * @param beginn
   */
  void setBeginn(java.util.Date beginn);
      

  /**
   * 
   *
   * getter for VERANSTALTUNG.BEMERKUNG
   *
   */
  java.lang.String getBemerkung();

  /**
   * 
   *
   * setter for VERANSTALTUNG.BEMERKUNG
   *
   * @param bemerkung
   */
  void setBemerkung(java.lang.String bemerkung);
      

  /**
   * 
   *
   * getter for VERANSTALTUNG.BEZEICHNUNG
   *
   */
  java.lang.String getBezeichnung();

  /**
   * 
   *
   * setter for VERANSTALTUNG.BEZEICHNUNG
   *
   * @param bezeichnung
   */
  void setBezeichnung(java.lang.String bezeichnung);
      

  /**
   * 
   *
   * getter for VERANSTALTUNG.ENDE
   *
   */
  java.util.Date getEnde();

  /**
   * 
   *
   * setter for VERANSTALTUNG.ENDE
   *
   * @param ende
   */
  void setEnde(java.util.Date ende);
      

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

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

  /**
   * 
   *
   * getter for VERANSTALTUNG.RAUM_BEZEICHNUNG
   *
   */
  java.lang.String getRaumBezeichnung();

  /**
   * 
   *
   * setter for VERANSTALTUNG.RAUM_BEZEICHNUNG
   *
   * @param raumBezeichnung
   */
  void setRaumBezeichnung(java.lang.String raumBezeichnung);
      

  /**
   * 
   *
   * getter for VERANSTALTUNG.SCHULUNG_ART
   *
   */
  de.ivu.elect.business.veranstaltung.entity.SchulungArt getSchulungArt();

  /**
   * 
   *
   * setter for VERANSTALTUNG.SCHULUNG_ART
   *
   * @param schulungArt
   */
  void setSchulungArt(de.ivu.elect.business.veranstaltung.entity.SchulungArt schulungArt);
      

  /**
   * 
   *
   * getter for VERANSTALTUNG.TEILNEHMER_ANZAHL_MAX
   *
   */
  java.lang.Long getTeilnehmerAnzahlMax();

  /**
   * 
   *
   * setter for VERANSTALTUNG.TEILNEHMER_ANZAHL_MAX
   *
   * @param teilnehmerAnzahlMax
   */
  void setTeilnehmerAnzahlMax(java.lang.Long teilnehmerAnzahlMax);
      

  /**
   * 
   *
   * getter for VERANSTALTUNG.VERANSTALTUNG_ART
   *
   */
  de.ivu.elect.business.veranstaltung.entity.VeranstaltungArt getVeranstaltungArt();

  /**
   * 
   *
   * setter for VERANSTALTUNG.VERANSTALTUNG_ART
   *
   * @param veranstaltungArt
   */
  void setVeranstaltungArt(de.ivu.elect.business.veranstaltung.entity.VeranstaltungArt veranstaltungArt);
      

  /**
   * 
   *
   * getter for VERANSTALTUNG.VERANSTALTUNG_ORT
   *
   */
  java.lang.String getVeranstaltungOrt();

  /**
   * 
   *
   * setter for VERANSTALTUNG.VERANSTALTUNG_ORT
   *
   * @param veranstaltungOrt
   */
  void setVeranstaltungOrt(java.lang.String veranstaltungOrt);
      

  /**
   * 
   *
   * getter for VERANSTALTUNG.VERANSTALTUNG_STATUS
   *
   */
  de.ivu.elect.business.veranstaltung.entity.VeranstaltungStatus getVeranstaltungStatus();

  /**
   * 
   *
   * setter for VERANSTALTUNG.VERANSTALTUNG_STATUS
   *
   * @param veranstaltungStatus
   */
  void setVeranstaltungStatus(de.ivu.elect.business.veranstaltung.entity.VeranstaltungStatus veranstaltungStatus);
  
/**
 * 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 setCustomDataStorage(de.ivu.elect.business.customdata.entity.CustomDataStorage customDataStorage);

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



  /**
   * 
   */
  void setGebiet(de.ivu.elect.business.gebietsbaum.entity.Gebiet gebiet);

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



  /**
   * 
   */
  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 setVerknuepfteVeranstaltung(de.ivu.elect.business.veranstaltung.entity.Veranstaltung verknuepfteVeranstaltung);


/**
 * 
 * Kein Update der bidirektionalen Beziehung - schneller, aber mit Vorsicht zu genießen
 */
   void setVerknuepfteVeranstaltungOhneUpdateBeziehung(de.ivu.elect.business.veranstaltung.entity.Veranstaltung verknuepfteVeranstaltung);

/**
   * 
   */
  de.ivu.elect.business.veranstaltung.entity.Veranstaltung getVerknuepfteVeranstaltung();




/**
 * 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.veranstaltung.entity.Teilnahme> getTeilnahmesByVeranstaltung();

  /**
  * Hinzufuegen von de.ivu.elect.business.veranstaltung.entity.Teilnahme
  */
  void addTeilnahmeByVeranstaltung(de.ivu.elect.business.veranstaltung.entity.Teilnahme teilnahmeByVeranstaltung);

  /**
  * Entfernen von de.ivu.elect.business.veranstaltung.entity.Teilnahme
  */
  void removeTeilnahmeByVeranstaltung(de.ivu.elect.business.veranstaltung.entity.Teilnahme teilnahmeByVeranstaltung);

 /**
  * Entfernen von allen de.ivu.elect.business.veranstaltung.entity.Teilnahme
  */
   void removeAllTeilnahmeByVeranstaltungs();


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

  /**
  * Hinzufuegen von de.ivu.elect.business.veranstaltung.entity.Veranstaltung
  */
  void addVeranstaltungByVerknuepfteVeranstaltung(de.ivu.elect.business.veranstaltung.entity.Veranstaltung veranstaltungByVerknuepfteVeranstaltung);

  /**
  * Entfernen von de.ivu.elect.business.veranstaltung.entity.Veranstaltung
  */
  void removeVeranstaltungByVerknuepfteVeranstaltung(de.ivu.elect.business.veranstaltung.entity.Veranstaltung veranstaltungByVerknuepfteVeranstaltung);

 /**
  * Entfernen von allen de.ivu.elect.business.veranstaltung.entity.Veranstaltung
  */
   void removeAllVeranstaltungByVerknuepfteVeranstaltungs();


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

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