Initial revision
[mir.git] / source / mir / entity / Entity.java
diff --git a/source/mir/entity/Entity.java b/source/mir/entity/Entity.java
new file mode 100755 (executable)
index 0000000..bff5eb2
--- /dev/null
@@ -0,0 +1,139 @@
+/*
+ * 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;
+
+
+}
+
+
+
+