Initial revision
[mir.git] / source / mir / storage / StorageObject.java
diff --git a/source/mir/storage/StorageObject.java b/source/mir/storage/StorageObject.java
new file mode 100755 (executable)
index 0000000..1677903
--- /dev/null
@@ -0,0 +1,224 @@
+/*
+ * Implementiert Interface für die Speicherschicht.
+ * Bislang gibt es in der Bibliothek nur die Möglichkeit
+ * in einer Datenbank zu speichern.
+ */
+package mir.storage;
+
+import java.lang.*;
+import java.util.*;
+import java.sql.*;
+import freemarker.template.*;
+import mir.entity.*;
+
+
+/**
+ * Implementiert Interface für die Speicherschicht.
+ * Bislang gibt es in der Bibliothek nur die Möglichkeit
+ * in einer Datenbank zu speichern.
+ * @author RK
+ * @version    29.6.1999
+ */
+public interface StorageObject {
+
+       /**
+        * Dokumentation siehe Database.java
+        * @param id
+        * @return Entity
+        * @exception StorageObjectException
+        */
+       abstract public Entity selectById (String id) throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @param aField
+        * @param aValue
+        * @return EntityList
+        * @exception StorageObjectException
+        */
+       abstract public EntityList selectByFieldValue (String aField, String aValue) throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @param whereClause
+        * @return EntityList
+        * @exception StorageObjectException
+        */
+       abstract public EntityList selectByWhereClause (String whereClause) throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @param whereClause
+        * @param offset
+        * @return EntityList
+        * @exception StorageObjectException
+        */
+       abstract public EntityList selectByWhereClause (String whereClause, int offset) throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @param whereClause
+        * @param orderBy
+        * @param offset
+        * @return EntityList
+        * @exception StorageObjectException
+        */
+       abstract public EntityList selectByWhereClause (String whereClause, String orderBy,
+                       int offset) throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @param whereClause
+        * @param orderBy
+        * @param offset
+        * @param limit
+        * @return EntityList
+        * @exception StorageObjectException
+        */
+       abstract public EntityList selectByWhereClause (String whereClause, String orderBy,
+                       int offset, int limit) throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @param id
+        * @return boolen
+        * @exception StorageObjectException
+        */
+       abstract public boolean delete (String id) throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @return ArrayList
+        * @exception StorageObjectException
+        */
+       abstract public ArrayList getFields () throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @return int[]
+        * @exception StorageObjectException
+        */
+       abstract public int[] getTypes () throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @return ArrayList
+        * @exception StorageObjectException
+        */
+       abstract public ArrayList getLabels () throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @param a
+        * @exception StorageObjectException
+        */
+       abstract public void update (Entity a) throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @param a
+        * @return String id
+        * @exception StorageObjectException
+        */
+       abstract public String insert (Entity a) throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @return Class Klasse der Entity
+        */
+               abstract public Class getEntityClass();
+
+
+
+       /**
+        * put your documentation comment here
+        * @return
+        */
+               abstract public String getIdName();
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @return String
+        */
+               abstract public String getTableName();
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @return SimpleHash
+        */
+               abstract public SimpleHash getHashData();
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @return Connection
+        * @exception StorageObjectException
+        */
+       abstract public Connection getPooledCon () throws StorageObjectException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @param a
+        * @param sql
+        * @return ResultSet
+        * @exception StorageObjectException, SQLException
+        */
+       abstract public ResultSet executeSql (Statement a, String sql) throws StorageObjectException,
+                       SQLException;
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @param con
+        * @param stmt
+        */
+               abstract public void freeConnection(Connection con,  Statement stmt);
+
+
+
+       /**
+        * Dokumentation siehe Database.java
+        * @return
+        */
+       abstract public SimpleList getPopupData ();
+
+       abstract public int executeUpdate(Statement a, String sql) throws StorageObjectException, SQLException ;
+       abstract public int executeUpdate(String sql) throws StorageObjectException, SQLException ;
+       abstract public int getSize(String where) throws SQLException,StorageObjectException;
+
+}
+
+
+