--- /dev/null
+/*
+ * put your module comment here
+ */
+
+
+package mir.entity;
+
+import java.lang.*;
+import java.util.*;
+import mir.storage.*;
+
+/**
+ * Interface-Definition für Entities
+ */
+
+public interface Entity {
+
+ /**
+ * Eine Entity muss setStorage implementieren, mit der eine Entity mit einem
+ * StorageObject assoziiert wird.
+ *
+ * @param st
+ */
+ public abstract void setStorage (StorageObject st);
+
+
+
+ /**
+ * Eine Entity muss setValues implementieren, mit der die Werte der Entity gesetzt werden
+ * können.
+ *
+ * @param ht
+ */
+ public abstract void setValues(HashMap ht);
+
+
+
+ /**
+ * Eine Entity muss getValues implementieren, mit der die Werte der Entity
+ * als HashMap zurueckgeliefert werden
+ * @return Werte der Entity
+ */
+ public abstract HashMap getValues();
+
+
+
+ /**
+ * Eine Entity muss getFields implementieren, mit der die Feldnamen der
+ * Entity zurueckgegeben werden.
+ * @return ArrayList der Feldnamen
+ * @exception StorageObjectException
+ */
+ public abstract ArrayList getFields () throws StorageObjectException;
+
+
+
+ /**
+ * Eine Entity muss getTypes implementieren, mit der die Feldtype der
+ * Entity zurueckgegeben werden.
+ * @return int[] der Feldtypen
+ * @exception StorageObjectException
+ */
+ public abstract int[] getTypes () throws StorageObjectException;
+
+
+
+ /**
+ * Eine Entity muss getLabels implementieren, mit der die Feldnamen der
+ * Entity zurueckgegeben werden.
+ * @return ArrayList der Feldnamen
+ * @exception StorageObjectException
+ */
+ public abstract ArrayList getLabels () throws StorageObjectException;
+
+
+
+ /**
+ * Eine Entity muss getId implementieren, um den Primaerschuessel der
+ * Entity zurueckgeliefert zu bekommen.
+ *
+ * @return Primary-Key der Entity
+ */
+ public abstract String getId();
+
+
+
+ /**
+ * Eine Entity muss setId implementieren, um den Primaerschuessel der
+ * Entity zu setzen
+ *
+ * @param str
+ */
+ public abstract void setId(String str);
+
+
+ /**
+ * Eine Entity muss getValue implementieren, um den Wert eines
+ * Feldes zurueckzugeben
+ *
+ * @param field
+ * @return Wert von Feld field
+ */
+ public abstract String getValue (String field);
+
+
+
+ /**
+ * Einfügen der Entity in StorageObject
+ *
+ * @return Primary-Key der eingefügten Entity
+ * @exception StorageObjectException
+ */
+ public abstract String insert () throws StorageObjectException;
+
+
+
+ /**
+ * Aktualisieren der Entity via StorageObject
+ * @exception StorageObjectException
+ */
+ public abstract void update () throws StorageObjectException;
+
+
+
+ /**
+ * ArrayListe mit Feldern, die einer Sonderbehandlung bedürfen (blobs)
+ * @return Liste der Feldnamen
+ */
+ public abstract ArrayList streamedInput ();
+
+
+ public abstract void setValueForProperty (String theProp, String theValue) throws StorageObjectException;
+
+
+}
+
+
+
+