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

public interface WahlBase extends 
de.ivu.elect.jee.entity.customdata.CustomDataEntity<WahlPK, WahlUK>

{

  
  /**
   * getter for primary key wrapper WAHL.wahl_id
   *
   * @return
   */
  @Override
  WahlPK getPk();
    

  /**
   * ATTRIBUTE
   */

    

  /**
   * 
   *
   * getter for WAHL.ANZAHL_STIMMZETTEL
   *
   */
  java.lang.Long getAnzahlStimmzettel();

  /**
   * 
   *
   * setter for WAHL.ANZAHL_STIMMZETTEL
   *
   * @param anzahlStimmzettel
   */
  void setAnzahlStimmzettel(java.lang.Long anzahlStimmzettel);
      

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

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

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

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

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

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

  /**
   * 
   *
   * getter for WAHL.KENNZEICHEN
   *
   */
  java.lang.String getKennzeichen();

  /**
   * 
   *
   * setter for WAHL.KENNZEICHEN
   *
   * @param kennzeichen
   */
  void setKennzeichen(java.lang.String kennzeichen);
      

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

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

  /**
   * 
   *
   * getter for WAHL.NAME
   *
   */
  String getName();

  /**
   * 
   *
   * setter for WAHL.NAME
   *
   * @param name
   */
  void setName(String name);
      

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

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

  /**
   * 
   *
   * getter for WAHL.QUORUM
   *
   */
  java.math.BigDecimal getQuorumProzenthuerde();

  /**
   * 
   *
   * setter for WAHL.QUORUM
   *
   * @param quorumProzenthuerde
   */
  void setQuorumProzenthuerde(java.math.BigDecimal quorumProzenthuerde);
      

  /**
   * 
   *
   * getter for WAHL.STATUS
   *
   */
  de.ivu.elect.business.wahl.entity.WahlStatus getStatus();

  /**
   * 
   *
   * setter for WAHL.STATUS
   *
   * @param status
   */
  void setStatus(de.ivu.elect.business.wahl.entity.WahlStatus status);
      

  /**
   * 
   *
   * getter for WAHL.UNTERSTUETZER_EINTRAGUNGSLISTE
   *
   */
  java.lang.Long getAnzahlUnterstuetzerPerEintragungsliste();

  /**
   * 
   *
   * setter for WAHL.UNTERSTUETZER_EINTRAGUNGSLISTE
   *
   * @param anzahlUnterstuetzerPerEintragungsliste
   */
  void setAnzahlUnterstuetzerPerEintragungsliste(java.lang.Long anzahlUnterstuetzerPerEintragungsliste);
      

  /**
   * 
   *
   * getter for WAHL.UNTERSTUETZER_ERFASSBAR
   *
   */
  java.lang.Boolean getUnterstuetzerErfassbar();

  /**
   * 
   *
   * setter for WAHL.UNTERSTUETZER_ERFASSBAR
   *
   * @param unterstuetzerErfassbar
   */
  void setUnterstuetzerErfassbar(java.lang.Boolean unterstuetzerErfassbar);
      

  /**
   * 
   *
   * getter for WAHL.WAHLGANG
   *
   */
  de.ivu.elect.business.wahl.entity.Wahlgang getWahlgang();

  /**
   * 
   *
   * setter for WAHL.WAHLGANG
   *
   * @param wahlgang
   */
  void setWahlgang(de.ivu.elect.business.wahl.entity.Wahlgang wahlgang);
  
/**
 * Beziehungen N:1 unidirektional
 */

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

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



  /**
   * 
   */
  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 setWahlart(de.ivu.elect.business.wahl.entity.Wahlart wahlart);

  /**
   * 
   */
  de.ivu.elect.business.wahl.entity.Wahlart getWahlart();



/**
 * Beziehungen N:1 bidirektional
 */

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


/**
 * 
 * Kein Update der bidirektionalen Beziehung - schneller, aber mit Vorsicht zu genießen
 */
   void setWahlterminOhneUpdateBeziehung(de.ivu.elect.business.wahl.entity.Wahltermin wahltermin);

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




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

/**
 * Beziehungen 1:N bidirektional
   */

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

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