/**
 * Copyright @ 2000 Peter Roßbach (pr@webapp.de)
 * 
 * Source is only for non commercial and coaching usage.
 * 
 * Not Warranty to use it.
 */

package de.ix.jspTutorial.database ;

import java.util.Enumeration;

/** 
 * Beschreibung eines Generischen Objekts für die Speicherung von Objekten
 * in die Datenbank.
 *
 * @see de.ix.jspTutorial.database.DatabaseGenericModifier
 *
 * @author Peter Rossbach (<a href="mailto://pr@webapp.de">pr@webapp.de</a>)
 * @version $Id:$
 */
public interface I_DatabaseGenericObject extends I_DatabaseObject
{
  /**
   *
   * Version
   */
  public static String vcid ="$Id:$";
  
	
	/** Diese Methode registriert den angegeben Wert unter dem
      angegebenen Schlüssel im internen Dictionary. Ist der Schlüssel
      bereits vorhanden, so wird der alte Wert überschrieben.

      @param aValue der Wert
      @param aKey der Schlüssel
  */
  public void putValue(String aKey, Object aValue);



  /** Diese Methode liefert den assoziierten Wert des angegebenen
      Schlüssel aus dem internen Dictionary. Ist der Schlüssel
      nicht vorhanden, so wird null zurueckgegeben.

      @param aKey der Schlüssel
      @return aValue der Wert
  */
  public Object getValue(String aKey);



  /** Diese Methode entfernt den angegebenen Schlüssel aus dem
      internen Dictionary.

      @param aKey der Schlüssel 
  */
  public void remove(String aKey);



  /** Diese Methode reicht die Methode keys an die zugrundeliegende
      Hashtable weiter.

      @see java.util.Hashtable

      @return Enumeration der Keys 
  */
  public Enumeration keys();



  /** Diese Methode reicht die Methode elements an die zugrundeliegende
      Hashtable weiter.

      @see java.util.Hashtable

      @return Enumeration der Keys 
  */
  public Enumeration elements();

  /**
   * Lösche alle Werte und Attribute
   */
  public void clear() ;

  /** Diese Methode reicht die Methode size an die zugrundeliegende
      Hashtable weiter.

      @see java.util.Hashtable

      @return Anzahl der Key/value-Paare
  */
  public int size();



  /** Diese Methode erzeugt eine Kopie des Objektes.

      @return Kopie des Objektes
  */
  public Object clone();

} // end of interface


//
// History:
//
// $Log:$
//
//
