/*
 * 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 BenutzerBase extends 
de.ivu.elect.jee.entity.customdata.CustomDataEntity<BenutzerPK, BenutzerUK>

{

  
  /**
   * getter for primary key wrapper BENUTZER.benutzer_id
   *
   * @return
   */
  @Override
  BenutzerPK getPk();
    

  /**
   * ATTRIBUTE
   */

    

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

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

  /**
   * 
   *
   * getter for BENUTZER.BENUTZERKENNUNG
   *
   */
  String getBenutzerkennung();

  /**
   * 
   *
   * setter for BENUTZER.BENUTZERKENNUNG
   *
   * @param benutzerkennung
   */
  void setBenutzerkennung(String benutzerkennung);
      

  /**
   * 
   *
   * getter for BENUTZER.FAMILIENNAME
   *
   */
  java.lang.String getFamilienname();

  /**
   * 
   *
   * setter for BENUTZER.FAMILIENNAME
   *
   * @param familienname
   */
  void setFamilienname(java.lang.String familienname);
      

  /**
   * 
   *
   * getter for BENUTZER.GESCHLECHT
   *
   */
  de.ivu.elect.business.person.entity.Geschlecht getGeschlecht();

  /**
   * 
   *
   * setter for BENUTZER.GESCHLECHT
   *
   * @param geschlecht
   */
  void setGeschlecht(de.ivu.elect.business.person.entity.Geschlecht geschlecht);
      

  /**
   * 
   *
   * getter for BENUTZER.GESPERRT
   *
   */
  java.lang.Boolean getGesperrt();

  /**
   * 
   *
   * setter for BENUTZER.GESPERRT
   *
   * @param gesperrt
   */
  void setGesperrt(java.lang.Boolean gesperrt);
      

  /**
   * 
   *
   * getter for BENUTZER.HOTP_SECRET
   *
   */
  java.lang.String getHotpSecret();

  /**
   * 
   *
   * setter for BENUTZER.HOTP_SECRET
   *
   * @param hotpSecret
   */
  void setHotpSecret(java.lang.String hotpSecret);
      

  /**
   * 
   *
   * getter for BENUTZER.LETZTE_ANMELDUNG
   *
   */
  java.util.Date getLetzteAnmeldung();

  /**
   * 
   *
   * setter for BENUTZER.LETZTE_ANMELDUNG
   *
   * @param letzteAnmeldung
   */
  void setLetzteAnmeldung(java.util.Date letzteAnmeldung);
      

  /**
   * 
   *
   * getter for BENUTZER.LETZTE_NACHRICHT_ID
   *
   */
  java.lang.Long getLetzteNachrichtId();

  /**
   * 
   *
   * setter for BENUTZER.LETZTE_NACHRICHT_ID
   *
   * @param letzteNachrichtId
   */
  void setLetzteNachrichtId(java.lang.Long letzteNachrichtId);
      

  /**
   * 
   *
   * getter for BENUTZER.LOGINVERSUCHE
   *
   */
  java.lang.Long getLoginVersuche();

  /**
   * 
   *
   * setter for BENUTZER.LOGINVERSUCHE
   *
   * @param loginVersuche
   */
  void setLoginVersuche(java.lang.Long loginVersuche);
      

  /**
   * 
   *
   * getter for BENUTZER.MUSS_PASSWORT_WECHSELN
   *
   */
  java.lang.Boolean getMussPasswortWechseln();

  /**
   * 
   *
   * setter for BENUTZER.MUSS_PASSWORT_WECHSELN
   *
   * @param mussPasswortWechseln
   */
  void setMussPasswortWechseln(java.lang.Boolean mussPasswortWechseln);
      

  /**
   * 
   *
   * getter for BENUTZER.PASSWORT
   *
   */
  String getPasswort();

  /**
   * 
   *
   * setter for BENUTZER.PASSWORT
   *
   * @param passwort
   */
  void setPasswort(String passwort);
      

  /**
   * 
   *
   * getter for BENUTZER.PROTOKOLLALIAS
   *
   */
  java.lang.String getProtokollalias();

  /**
   * 
   *
   * setter for BENUTZER.PROTOKOLLALIAS
   *
   * @param protokollalias
   */
  void setProtokollalias(java.lang.String protokollalias);
      

  /**
   * 
   *
   * getter for BENUTZER.SALT
   *
   */
  java.lang.String getSalt();

  /**
   * 
   *
   * setter for BENUTZER.SALT
   *
   * @param salt
   */
  void setSalt(java.lang.String salt);
      

  /**
   * 
   *
   * getter for BENUTZER.TANLISTE
   *
   */
  java.lang.String getTanliste();

  /**
   * 
   *
   * setter for BENUTZER.TANLISTE
   *
   * @param tanliste
   */
  void setTanliste(java.lang.String tanliste);
      

  /**
   * 
   *
   * getter for BENUTZER.VORNAME
   *
   */
  java.lang.String getVorname();

  /**
   * 
   *
   * setter for BENUTZER.VORNAME
   *
   * @param vorname
   */
  void setVorname(java.lang.String vorname);
  
/**
 * Beziehungen N:1 unidirektional
 */

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

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



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

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



/**
 * Beziehungen N:1 bidirektional
 */


/**
 * 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.BenutzerParameter> getBenutzerParametersByBenutzer();

  /**
  * Hinzufuegen von de.ivu.elect.business.benutzerverwaltung.entity.BenutzerParameter
  */
  void addBenutzerParameterByBenutzer(de.ivu.elect.business.benutzerverwaltung.entity.BenutzerParameter benutzerParameterByBenutzer);

  /**
  * Entfernen von de.ivu.elect.business.benutzerverwaltung.entity.BenutzerParameter
  */
  void removeBenutzerParameterByBenutzer(de.ivu.elect.business.benutzerverwaltung.entity.BenutzerParameter benutzerParameterByBenutzer);

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


/**
 * 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();


  /**
  * 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 selbstreferenzierend
   */
}
