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

public interface NachrichtBase extends 
de.ivu.elect.jee.entity.Entity<NachrichtPK, NachrichtUK>
{

  
  /**
   * getter for primary key wrapper NACHRICHT.nachricht_id
   *
   * @return
   */
  @Override
  NachrichtPK getPk();
    

  /**
   * ATTRIBUTE
   */

    

  /**
   * 
   *
   * getter for NACHRICHT.EMPFAENGER_GRUPPE_ART
   *
   */
  de.ivu.elect.business.benutzerverwaltung.entity.NachrichtEmpfaengerGruppeArt getEmpfaengerGruppeArt();

  /**
   * 
   *
   * setter for NACHRICHT.EMPFAENGER_GRUPPE_ART
   *
   * @param empfaengerGruppeArt
   */
  void setEmpfaengerGruppeArt(de.ivu.elect.business.benutzerverwaltung.entity.NachrichtEmpfaengerGruppeArt empfaengerGruppeArt);
      

  /**
   * 
   *
   * getter for NACHRICHT.SENDER_BENUTZERKENNUNG
   *
   */
  java.lang.String getSenderkennung();

  /**
   * 
   *
   * setter for NACHRICHT.SENDER_BENUTZERKENNUNG
   *
   * @param senderkennung
   */
  void setSenderkennung(java.lang.String senderkennung);
      

  /**
   * 
   *
   * getter for NACHRICHT.TEXT
   *
   */
  java.lang.String getText();

  /**
   * 
   *
   * setter for NACHRICHT.TEXT
   *
   * @param text
   */
  void setText(java.lang.String text);
      

  /**
   * 
   *
   * getter for NACHRICHT.ZEITPUNKT
   *
   */
  java.util.Date getZeitpunkt();

  /**
   * 
   *
   * setter for NACHRICHT.ZEITPUNKT
   *
   * @param zeitpunkt
   */
  void setZeitpunkt(java.util.Date zeitpunkt);
  
/**
 * Beziehungen N:1 unidirektional
 */

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

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



/**
 * Beziehungen N:1 bidirektional
 */

  /**
   * 
   */
  void setUrspruenglicheNachricht(de.ivu.elect.business.benutzerverwaltung.entity.Nachricht urspruenglicheNachricht);


/**
 * 
 * Kein Update der bidirektionalen Beziehung - schneller, aber mit Vorsicht zu genießen
 */
   void setUrspruenglicheNachrichtOhneUpdateBeziehung(de.ivu.elect.business.benutzerverwaltung.entity.Nachricht urspruenglicheNachricht);

/**
   * 
   */
  de.ivu.elect.business.benutzerverwaltung.entity.Nachricht getUrspruenglicheNachricht();




/**
 * 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.benutzerverwaltung.entity.Nachricht> getNachrichtsByUrspruenglicheNachricht();

  /**
  * Hinzufuegen von de.ivu.elect.business.benutzerverwaltung.entity.Nachricht
  */
  void addNachrichtByUrspruenglicheNachricht(de.ivu.elect.business.benutzerverwaltung.entity.Nachricht nachrichtByUrspruenglicheNachricht);

  /**
  * Entfernen von de.ivu.elect.business.benutzerverwaltung.entity.Nachricht
  */
  void removeNachrichtByUrspruenglicheNachricht(de.ivu.elect.business.benutzerverwaltung.entity.Nachricht nachrichtByUrspruenglicheNachricht);

 /**
  * Entfernen von allen de.ivu.elect.business.benutzerverwaltung.entity.Nachricht
  */
   void removeAllNachrichtByUrspruenglicheNachrichts();


/**
 * 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.benutzerverwaltung.entity.Rolle> getRolles();

 /**
  * Hinzufuegen von de.ivu.elect.business.benutzerverwaltung.entity.Rolle
  */
  void addRolle(de.ivu.elect.business.benutzerverwaltung.entity.Rolle rolle);

  /**
  * Entfernen von de.ivu.elect.business.benutzerverwaltung.entity.Rolle
  */
  void removeRolle(de.ivu.elect.business.benutzerverwaltung.entity.Rolle rolle);

 /**
  * Entfernen von allen  de.ivu.elect.business.benutzerverwaltung.entity.Rolle
  */
  void removeAllRolles();


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