KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > db > TKConnectData


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/db/TKConnectData.java,v 1.9 2001/10/09 12:26:51 uli Exp $
3  *
4  */

5 package com.teamkonzept.db;
6
7 import java.sql.*;
8 import java.util.Enumeration JavaDoc;
9 import java.util.Properties JavaDoc;
10 import org.apache.log4j.Category;
11
12 /**
13 TKConnectData verwaltet die Informationen welche notwendig sind, um eine Verbindung zu
14 einer bestimmten Datenbank-Architektur via jdbc aufbauen zu koennen.
15 Sie ist die Basisklasse fuer DB-Architektur-spezifische ConnectData-Klassen
16 * @author
17 * @version
18 */

19
20 public abstract class TKConnectData {
21
22     //private static Category cat = Category.getInstance(TKConnectData.class);
23

24     /**
25         der jdbc Connect-String
26     */

27     private String JavaDoc connectString;
28     /**
29         die jdbc Connect-Properties
30     */

31     private Properties JavaDoc connectProperties;
32
33     private String JavaDoc jdbcProtocol = "jdbc:";
34
35     /**
36         Initialisiert ein Objekt der Klasse. Dem uebergebenen connectString wird der
37         Protokoll-Typ "jdbc:" vorangestellt.
38     */

39     public TKConnectData( String JavaDoc jdbcSubProtocol, Properties JavaDoc connectProperties )
40     {
41         this.connectString = jdbcProtocol + jdbcSubProtocol + connectProperties.getProperty("host");
42         connectProperties.remove("host");
43         connectProperties.remove("database");
44         this.connectProperties = connectProperties;
45     }
46
47     public String JavaDoc getConnectString(){
48         return connectString;
49     }
50
51     public Properties JavaDoc getConnectProperties(){
52         return connectProperties;
53     }
54
55     /**
56         Laed die in driverClass uebergebene jdbc-driver-Klasse und registriert
57         sie beim jdbc-DriverManager.
58     */

59     public void registerDriver( String JavaDoc driverClass ) throws SQLException
60     {
61         try {
62             Class JavaDoc d = Class.forName(driverClass);
63             DriverManager.registerDriver((Driver) d.newInstance());
64         }
65         catch( SQLException e ) {
66             throw e;
67         }
68         catch( Throwable JavaDoc t ) {
69             throw new NoClassDefFoundError JavaDoc( t.getMessage() );
70         }
71     }
72     /**
73         konstruiere f¸r einen spezifischen DB-Server den
74         entsprechenden TKSQLTypeConverter
75     */

76     public abstract void initTypeConverter( final Connection conn ) throws SQLException;
77     public abstract TKSQLTypeConverter getTypeConverter();
78
79
80     /**
81      * Returns the string representation of the connection data.
82      *
83      * @return the string representation of the connection data.
84      */

85     public String JavaDoc toString ()
86     {
87         StringBuffer JavaDoc buffer = new StringBuffer JavaDoc(this.connectString);
88
89         Enumeration JavaDoc keys = this.connectProperties.keys();
90
91         while (keys.hasMoreElements())
92         {
93             Object JavaDoc key = keys.nextElement();
94
95             buffer.append('&')
96                   .append(key)
97                   .append('=')
98                   .append(this.connectProperties.get(key));
99         }
100
101         return buffer.toString();
102     }
103
104 }
105
Popular Tags