TKConnectData.java :  » Content-Management-System » webman » com » teamkonzept » db » Java Open Source

Java Open Source » Content Management System » webman 
webman » com » teamkonzept » db » TKConnectData.java
/*
 * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/db/TKConnectData.java,v 1.9 2001/10/09 12:26:51 uli Exp $
 *
 */
package com.teamkonzept.db;

import java.sql.*;
import java.util.Enumeration;
import java.util.Properties;
import org.apache.log4j.Category;

/**
TKConnectData verwaltet die Informationen welche notwendig sind, um eine Verbindung zu
einer bestimmten Datenbank-Architektur via jdbc aufbauen zu koennen.
Sie ist die Basisklasse fuer DB-Architektur-spezifische ConnectData-Klassen
* @author
* @version
*/

public abstract class TKConnectData {

    //private static Category cat = Category.getInstance(TKConnectData.class);

  /**
    der jdbc Connect-String
  */
  private String connectString;
  /**
    die jdbc Connect-Properties
  */
  private Properties connectProperties;

  private String jdbcProtocol = "jdbc:";

  /**
    Initialisiert ein Objekt der Klasse. Dem uebergebenen connectString wird der
    Protokoll-Typ "jdbc:" vorangestellt.
  */
  public TKConnectData( String jdbcSubProtocol, Properties connectProperties )
  {
    this.connectString = jdbcProtocol + jdbcSubProtocol + connectProperties.getProperty("host");
    connectProperties.remove("host");
    connectProperties.remove("database");
    this.connectProperties = connectProperties;
  }

  public String getConnectString(){
    return connectString;
  }

  public Properties getConnectProperties(){
    return connectProperties;
  }

  /**
    Laed die in driverClass uebergebene jdbc-driver-Klasse und registriert
    sie beim jdbc-DriverManager.
  */
  public void registerDriver( String driverClass ) throws SQLException
  {
    try {
            Class d = Class.forName(driverClass);
            DriverManager.registerDriver((Driver) d.newInstance());
        }
        catch( SQLException e ) {
          throw e;
        }
        catch( Throwable t ) {
          throw new NoClassDefFoundError( t.getMessage() );
        }
  }
  /**
    konstruiere fr einen spezifischen DB-Server den
    entsprechenden TKSQLTypeConverter
  */
  public abstract void initTypeConverter( final Connection conn ) throws SQLException;
  public abstract TKSQLTypeConverter getTypeConverter();


  /**
   * Returns the string representation of the connection data.
   *
   * @return the string representation of the connection data.
   */
  public String toString ()
  {
    StringBuffer buffer = new StringBuffer(this.connectString);

    Enumeration keys = this.connectProperties.keys();

    while (keys.hasMoreElements())
    {
      Object key = keys.nextElement();

      buffer.append('&')
          .append(key)
          .append('=')
          .append(this.connectProperties.get(key));
    }

    return buffer.toString();
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.