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

public interface GruppeBase extends 
de.ivu.elect.jee.entity.customdata.CustomDataEntity<GruppePK, GruppeUK>

{

  
  /**
   * getter for primary key wrapper GRUPPE.gruppe_id
   *
   * @return
   */
  @Override
  GruppePK getPk();
    

  /**
   * ATTRIBUTE
   */

    

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

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

  /**
   * 
   *
   * getter for GRUPPE.FARBE
   *
   */
  java.lang.String getFarbe();

  /**
   * 
   *
   * setter for GRUPPE.FARBE
   *
   * @param farbe
   */
  void setFarbe(java.lang.String farbe);
      

  /**
   * 
   *
   * getter for GRUPPE.FARBE_EXTERN
   *
   */
  java.lang.String getFarbeExtern();

  /**
   * 
   *
   * setter for GRUPPE.FARBE_EXTERN
   *
   * @param farbeExtern
   */
  void setFarbeExtern(java.lang.String farbeExtern);
      

  /**
   * 
   *
   * getter for GRUPPE.GRUPPE_ART
   *
   */
  de.ivu.elect.business.gruppe.entity.GruppeArt getGruppeArt();

  /**
   * 
   *
   * setter for GRUPPE.GRUPPE_ART
   *
   * @param gruppeArt
   */
  void setGruppeArt(de.ivu.elect.business.gruppe.entity.GruppeArt gruppeArt);
      

  /**
   * 
   *
   * getter for GRUPPE.IN_PRAESENTATION
   *
   */
  java.lang.Boolean getInPraesentation();

  /**
   * 
   *
   * setter for GRUPPE.IN_PRAESENTATION
   *
   * @param inPraesentation
   */
  void setInPraesentation(java.lang.Boolean inPraesentation);
      

  /**
   * 
   *
   * getter for GRUPPE.KURZNAME
   *
   */
  java.lang.String getKurzname();

  /**
   * 
   *
   * setter for GRUPPE.KURZNAME
   *
   * @param kurzname
   */
  void setKurzname(java.lang.String kurzname);
      

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

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

  /**
   * 
   *
   * getter for GRUPPE.PRIVILEGIERT
   *
   */
  java.lang.Boolean getPrivilegiert();

  /**
   * 
   *
   * setter for GRUPPE.PRIVILEGIERT
   *
   * @param privilegiert
   */
  void setPrivilegiert(java.lang.Boolean privilegiert);
      

  /**
   * 
   *
   * getter for GRUPPE.RELATIVE_POSITION
   *
   */
  java.lang.Long getRelativePosition();

  /**
   * 
   *
   * setter for GRUPPE.RELATIVE_POSITION
   *
   * @param relativePosition
   */
  void setRelativePosition(java.lang.Long relativePosition);
      

  /**
   * 
   *
   * getter for GRUPPE.SCHLUESSEL
   *
   */
  java.lang.String getSchluessel();

  /**
   * 
   *
   * setter for GRUPPE.SCHLUESSEL
   *
   * @param schluessel
   */
  void setSchluessel(java.lang.String schluessel);
      

  /**
   * 
   *
   * getter for GRUPPE.VORGEGEBENE_POSITION
   *
   */
  java.lang.Long getVorgegebenePosition();

  /**
   * 
   *
   * setter for GRUPPE.VORGEGEBENE_POSITION
   *
   * @param vorgegebenePosition
   */
  void setVorgegebenePosition(java.lang.Long vorgegebenePosition);
      

  /**
   * 
   *
   * getter for GRUPPE.ZUSATZBEZEICHNUNG
   *
   */
  java.lang.String getZusatzbezeichnung();

  /**
   * 
   *
   * setter for GRUPPE.ZUSATZBEZEICHNUNG
   *
   * @param zusatzbezeichnung
   */
  void setZusatzbezeichnung(java.lang.String zusatzbezeichnung);
  
/**
 * Beziehungen N:1 unidirektional
 */

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

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



  /**
   * 
   */
  void setLogo(de.ivu.elect.business.image.entity.Bild logo);

  /**
   * 
   */
  de.ivu.elect.business.image.entity.Bild getLogo();



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

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



/**
 * 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.gruppeimgebiet.entity.GruppeImGebiet> getGruppeImGebietsByGruppe();

  /**
  * Hinzufuegen von de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebiet
  */
  void addGruppeImGebietByGruppe(de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebiet gruppeImGebietByGruppe);

  /**
  * Entfernen von de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebiet
  */
  void removeGruppeImGebietByGruppe(de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebiet gruppeImGebietByGruppe);

 /**
  * Entfernen von allen de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebiet
  */
   void removeAllGruppeImGebietByGruppes();


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

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