2 * Copyright (C) 2001, 2002 The Mir-coders group
4 * This file is part of Mir.
6 * Mir is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * Mir is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with Mir; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 * In addition, as a special exception, The Mir-coders gives permission to link
21 * the code of this program with any library licensed under the Apache Software License,
22 * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
23 * (or with modified versions of the above that use the same license as the above),
24 * and distribute linked combinations including the two. You must obey the
25 * GNU General Public License in all respects for all of the code used other than
26 * the above mentioned libraries. If you modify this file, you may extend this
27 * exception to your version of the file, but you are not obligated to do so.
28 * If you do not wish to do so, delete this exception statement from your version.
32 import java.sql.Connection;
33 import java.sql.ResultSet;
34 import java.sql.SQLException;
35 import java.sql.Statement;
36 import java.util.List;
38 import mir.entity.Entity;
39 import mir.entity.EntityList;
40 import freemarker.template.SimpleHash;
41 import freemarker.template.SimpleList;
45 * Implementiert Interface f?r die Speicherschicht.
46 * Bislang gibt es in der Bibliothek nur die M?glichkeit
47 * in einer Datenbank zu speichern.
51 public interface StorageObject {
53 * Dokumentation siehe Database.java
56 * @exception StorageObjectException
58 abstract public Entity selectById(String id) throws StorageObjectExc;
61 * Dokumentation siehe Database.java
65 * @exception StorageObjectException
67 abstract public EntityList selectByFieldValue(String aField, String aValue)
68 throws StorageObjectFailure;
71 * Dokumentation siehe Database.java
74 * @exception StorageObjectException
76 abstract public EntityList selectByWhereClause(String whereClause)
77 throws StorageObjectFailure;
80 * Dokumentation siehe Database.java
84 * @exception StorageObjectException
86 abstract public EntityList selectByWhereClause(String whereClause, int offset)
87 throws StorageObjectFailure;
90 * Dokumentation siehe Database.java
95 * @exception StorageObjectException
97 abstract public EntityList selectByWhereClause(String whereClause,
98 String orderBy, int offset) throws StorageObjectFailure;
101 * Dokumentation siehe Database.java
107 * @exception StorageObjectException
109 abstract public EntityList selectByWhereClause(String whereClause,
110 String orderBy, int offset, int limit) throws StorageObjectFailure;
113 * Dokumentation siehe Database.java
116 * @exception StorageObjectException
118 abstract public boolean delete(String id) throws StorageObjectFailure;
121 * Dokumentation siehe Database.java
123 * @exception StorageObjectException
125 abstract public List getFields() throws StorageObjectFailure;
128 * Dokumentation siehe Database.java
130 * @exception StorageObjectException
132 abstract public int[] getTypes() throws StorageObjectFailure;
135 * Dokumentation siehe Database.java
137 * @exception StorageObjectException
139 abstract public List getLabels() throws StorageObjectFailure;
142 * Dokumentation siehe Database.java
144 * @exception StorageObjectException
146 abstract public void update(Entity a) throws StorageObjectFailure;
149 * Dokumentation siehe Database.java
152 * @exception StorageObjectException
154 abstract public String insert(Entity a) throws StorageObjectFailure;
157 * Dokumentation siehe Database.java
158 * @return Class Klasse der Entity
160 abstract public Class getEntityClass();
163 * put your documentation comment here
166 abstract public String getIdName();
169 * Dokumentation siehe Database.java
172 abstract public String getTableName();
175 * Dokumentation siehe Database.java
178 abstract public SimpleHash getHashData();
181 * Dokumentation siehe Database.java
183 * @exception StorageObjectException
185 abstract public Connection getPooledCon() throws StorageObjectFailure;
188 * Dokumentation siehe Database.java
192 * @exception StorageObjectException, SQLException
194 abstract public ResultSet executeSql(Statement a, String sql)
195 throws StorageObjectFailure, SQLException;
198 * Dokumentation siehe Database.java
202 abstract public void freeConnection(Connection con, Statement stmt)
203 throws StorageObjectFailure;
206 * Dokumentation siehe Database.java
209 abstract public SimpleList getPopupData() throws StorageObjectFailure;
211 abstract public int executeUpdate(Statement a, String sql)
212 throws StorageObjectFailure, SQLException;
214 abstract public int executeUpdate(String sql)
215 throws StorageObjectFailure, SQLException;
217 abstract public int getSize(String where)
218 throws SQLException, StorageObjectFailure;