some small things
[mir.git] / source / mir / storage / DatabaseAdaptor.java
index d97cc2f..65874ca 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2001, 2002  The Mir-coders group
+ * Copyright (C) 2001, 2002 The Mir-coders group
  *
  * This file is part of Mir.
  *
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  * In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with the com.oreilly.servlet library, any library
- * licensed under the Apache Software License, The Sun (tm) Java Advanced
- * Imaging library (JAI), The Sun JIMI library (or with modified versions of
- * the above that use the same license as the above), and distribute linked
- * combinations including the two.  You must obey the GNU General Public
- * License in all respects for all of the code used other than the above
- * mentioned libraries.  If you modify this file, you may extend this exception
- * to your version of the file, but you are not obligated to do so.  If you do
- * not wish to do so, delete this exception statement from your version.
+ * the code of this program with  any library licensed under the Apache Software License, 
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library 
+ * (or with modified versions of the above that use the same license as the above), 
+ * and distribute linked combinations including the two.  You must obey the 
+ * GNU General Public License in all respects for all of the code used other than 
+ * the above mentioned libraries.  If you modify this file, you may extend this 
+ * exception to your version of the file, but you are not obligated to do so.  
+ * If you do not wish to do so, delete this exception statement from your version.
  */
+package mir.storage;
 
-package  mir.storage;
+import java.util.Properties;
 
-import java.util.*;
+import mir.config.MirPropertiesConfiguration.PropertiesConfigExc;
 
 
 /**
- * Interfacedefinition für Datenbank-Adpatoren. Die Adaptoren legen
- * jeweils das Verhalten und die Befehlsmächtigkeit der Datenbank
+ * Interfacedefinition f?r Datenbank-Adpatoren. Die Adaptoren legen
+ * jeweils das Verhalten und die Befehlsm?chtigkeit der Datenbank
  * fest.
  *
  * @author <RK>
  *
- * @version $Id: DatabaseAdaptor.java,v 1.2 2002/09/01 22:05:52 mh Exp $
+ * @version $Id: DatabaseAdaptor.java,v 1.7 2003/04/21 12:42:47 idfx Exp $
  */
-
-public interface  DatabaseAdaptor{
-
-        /* Liefert den Namen der Adaptorklasse
-        * @return Adaptorklasse als String
-        */
-       public abstract String getDriver ();
-
-
-       /**
-        * Liefert die URL für JDBC zurück, in den die Parameter user, pass und host
-        * eingefügt werden. Die URL wird aus der Konfiguration geholt.
-        *
-        * @param user user als String
-        * @param pass passwort als String
-        * @param host host als String
-        * @return url als String
-        */
-       public abstract String getURL (String user, String pass, String host);
-
-
-       /**
-        * Gibt zurück, ob das SQL der Datenbank den <code>limit</code>-Befehl beherrscht.
-        * @return true wenn ja, sonst false
-        */
-       public abstract boolean hasLimit ();
-
-
-       /**
-        * Liefert zurück, ob der <code>limit</code>-Befehl erst start und dann offset
-        * hat (true), oder umgekehrt. Nur Relevant, wenn hasLimit true zurückliefert.
-        *
-        * @return true wenn erstes, sonst false
-        */
-       public abstract boolean reverseLimit ();
-
-
-       /**
-        * Liefert ein Properties-Objekt zurueck mit user und password.
-        * @param user
-        * @param password
-        * @return Properties
-        */
-       public abstract Properties getProperties (String user, String password);
-
-
-       /**
-        * Gibt SQL-Stringfragment zurück, mit dem nach einem insert-Befehl ermittelt
-        * werden kann, wie man den primary-Key des eingefügten Datensatzes bekommt.
-        *
-        * @param theDB Database-Objekt, aus dem ggf. noetige Informationen geholt
-        * werden können, wie z.B. der Tabellenname
-        * @return SQL-Statement als String
-        */
-       public abstract String getLastInsertSQL (Database theDB);
+public interface DatabaseAdaptor {
+  /* Liefert den Namen der Adaptorklasse
+   * @return Adaptorklasse als String
+   */
+  public abstract String getDriver() throws PropertiesConfigExc;
+
+  /**
+   * Liefert die URL f?r JDBC zur?ck, in den die Parameter user, pass und host
+   * eingef?gt werden. Die URL wird aus der Konfiguration geholt.
+   *
+   * @param user user als String
+   * @param pass passwort als String
+   * @param host host als String
+   * @return url als String
+   */
+  public abstract String getURL(String user, String pass, String host)
+    throws PropertiesConfigExc;
+
+  /**
+   * Gibt zur?ck, ob das SQL der Datenbank den <code>limit</code>-Befehl beherrscht.
+   * @return true wenn ja, sonst false
+   */
+  public abstract boolean hasLimit();
+
+  /**
+       * Liefert zur?ck, ob der <code>limit</code>-Befehl erst start und dann offset
+       * hat (true), oder umgekehrt. Nur Relevant, wenn hasLimit true zur?ckliefert.
+   *
+   * @return true wenn erstes, sonst false
+   */
+  public abstract boolean reverseLimit();
+
+  /**
+   * Liefert ein Properties-Objekt zurueck mit user und password.
+   * @param user
+   * @param password
+   * @return Properties
+   */
+  public abstract Properties getProperties(String user, String password);
+
+  /**
+   * Gibt SQL-Stringfragment zur?ck, mit dem nach einem insert-Befehl ermittelt
+   * werden kann, wie man den primary-Key des eingef?gten Datensatzes bekommt.
+   *
+   * @param theDB Database-Objekt, aus dem ggf. noetige Informationen geholt
+   * werden k?nnen, wie z.B. der Tabellenname
+   * @return SQL-Statement als String
+   */
+  public abstract String getLastInsertSQL(Database theDB);
 }
-
-