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

public interface DateiBase extends 
de.ivu.elect.jee.entity.Entity<DateiPK, DateiUK>
{

  
  /**
   * getter for primary key wrapper DATEI.datei_id
   *
   * @return
   */
  @Override
  DateiPK getPk();
    

  /**
   * ATTRIBUTE
   */

    

  /**
   * 
   *
   * getter for DATEI.DATEINAME
   *
   */
  java.lang.String getDateiname();

  /**
   * 
   *
   * setter for DATEI.DATEINAME
   *
   * @param dateiname
   */
  void setDateiname(java.lang.String dateiname);
      

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

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

  /**
   * 
   *
   * getter for DATEI.ERSTELLUNGSZEITPUNKT
   *
   */
  java.util.Date getErstellungszeitpunkt();

  /**
   * 
   *
   * setter for DATEI.ERSTELLUNGSZEITPUNKT
   *
   * @param erstellungszeitpunkt
   */
  void setErstellungszeitpunkt(java.util.Date erstellungszeitpunkt);
      

  /**
   * 
   *
   * getter for DATEI.FILE_TYPE
   *
   */
  de.ivu.elect.business.datei.entity.FileType getFileType();

  /**
   * 
   *
   * setter for DATEI.FILE_TYPE
   *
   * @param fileType
   */
  void setFileType(de.ivu.elect.business.datei.entity.FileType fileType);
      

  /**
   * 
   *
   * getter for DATEI.FORMAT
   *
   */
  java.lang.String getFormat();

  /**
   * 
   *
   * setter for DATEI.FORMAT
   *
   * @param format
   */
  void setFormat(java.lang.String format);
      

  /**
   * 
   *
   * getter for DATEI.MIME_TYPE
   *
   */
  java.lang.String getMimeType();

  /**
   * 
   *
   * setter for DATEI.MIME_TYPE
   *
   * @param mimeType
   */
  void setMimeType(java.lang.String mimeType);
      

  /**
   * 
   *
   * getter for DATEI.ORIGINAL_DATEINAME
   *
   */
  java.lang.String getOriginalDateiname();

  /**
   * 
   *
   * setter for DATEI.ORIGINAL_DATEINAME
   *
   * @param originalDateiname
   */
  void setOriginalDateiname(java.lang.String originalDateiname);
      

  /**
   * 
   *
   * getter for DATEI.PFAD
   *
   */
  java.lang.String getPfad();

  /**
   * 
   *
   * setter for DATEI.PFAD
   *
   * @param pfad
   */
  void setPfad(java.lang.String pfad);
  
/**
 * Beziehungen N:1 unidirektional
 */

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

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



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


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

/**
 * Beziehungen 1:N bidirektional
   */

/**
 * 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.email.entity.Email> getEmails();

 /**
  * Hinzufuegen von de.ivu.elect.business.email.entity.Email
  */
  void addEmail(de.ivu.elect.business.email.entity.Email email);

  /**
  * Entfernen von de.ivu.elect.business.email.entity.Email
  */
  void removeEmail(de.ivu.elect.business.email.entity.Email email);

 /**
  * Entfernen von allen  de.ivu.elect.business.email.entity.Email
  */
  void removeAllEmails();


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