import javax.persistence.*;

/**
 * Diese Klasse repräsentiert die Tabelle 'dir' der 'DirDB'
 * Jede Instanz der Klasse repräsentiert wiederum einen
 * Datensatz
 */
@Entity
@Table( name = "dir" )
public class Directory {

  // Variablen die den Attributen der Tabelle entsprechen
  private int did;
  private String dname;
  private int fatherid;
  private int entries;

  /**
   * Ein einfacher Konstruktor ohne Initialisierung der
   * Objektvariablen
   */
  public Directory() {
  }

  /**
   * Konstruktor mit Initialisierung der Variablen
   */
  public Directory(int did,
                   String dname,
                   int fatherid,
                   int entries)
  {
    this.did = did;
    this.dname = dname;
    this.fatherid = fatherid;
    this.entries = entries;
  }

  // Zugriffsmethoden, um die Daten der Klasse
  // Auslesen und Schreiben zu können
  @Id
  @Column( name = "id" )
  public int getDid()
  {
    return did;
  }

  public void setDid(int did)
  {
    this.did = did;
  }

  @Column( name = "dname", nullable = false ) 
  public String getDname()
  {
    return dname;
  }

  public void setDname(String dname)
  {
    this.dname = dname;
  }

  @Column ( name = "fatherid" )
  public int getFatherid()
  {
    return fatherid;
  }

  public void setFatherid(int fatherid)
  {
    this.fatherid = fatherid;
  }

  @Column ( name = "entries" )
  public int getEntries()
  {
    return entries;
  }

  public void setEntries(int entries)
  {
    this.entries = entries;
  }
    
  public String toString() 
  {
    return "Directory[id:"+ did + ", name:" + dname +  "]";
  }    
}