org.apache.derby.jdbc
Class ClientDriver

java.lang.Object
  extended by org.apache.derby.jdbc.ClientDriver
All Implemented Interfaces:
java.sql.Driver
Direct Known Subclasses:
ClientDriver40

public class ClientDriver
extends java.lang.Object
implements java.sql.Driver

The client JDBC driver (type 4) for Derby.


Field Summary
private static int DERBY_REMOTE_PROTOCOL
           
private static java.sql.SQLException exceptionsOnLoadDriver__
           
private static ClientJDBCObjectFactory factoryObject
           
private static ClientDriver registeredDriver__
           
private  int traceFileSuffixIndex_
           
 
Constructor Summary
ClientDriver()
           
 
Method Summary
 boolean acceptsURL(java.lang.String url)
           
private  java.lang.String appendDatabaseAttributes(java.lang.String database, java.util.Properties augmentedProperties)
          Append attributes to the database name except for user/password which are sent as part of the protocol, and SSL which is used locally in the client.
private  void checkURLNotNull(java.lang.String url)
           
 java.sql.Connection connect(java.lang.String url, java.util.Properties properties)
           
private static ClientJDBCObjectFactory createDefaultFactoryImpl()
          Returns an instance of the ClientJDBCObjectFactoryImpl class
private static ClientJDBCObjectFactory createJDBC40FactoryImpl()
          Returns an instance of the ClientJDBCObjectFactoryImpl40 class If a ClassNotFoundException occurs then it returns an instance of ClientJDBCObjectFactoryImpl If a future version of JDBC comes then a similar method would be added say createJDBCXXFactoryImpl in which if the class is not found then it would return the lower version thus having a sort of cascading effect until it gets a valid instance
private static ClientJDBCObjectFactory createJDBC42FactoryImpl()
          Returns an instance of the ClientJDBCObjectFactoryImpl42 class If a ClassNotFoundException occurs then it returns an instance of the most refined ClientJDBCObjectFactoryImpl possible If a future version of JDBC comes then a similar method would be added say createJDBCXXFactoryImpl in which if the class is not found then it would return the lower version thus having a sort of cascading effect until it gets a valid instance
static ClientJDBCObjectFactory getFactory()
          This method returns an Implementation of ClientJDBCObjectFactory depending on VM under use Currently it returns either ClientJDBCObjectFactoryImpl (or) ClientJDBCObjectFactoryImpl40
 int getMajorVersion()
           
 int getMinorVersion()
           
 java.sql.DriverPropertyInfo[] getPropertyInfo(java.lang.String url, java.util.Properties properties)
           
 boolean jdbcCompliant()
           
protected static void registerMe(ClientDriver me)
           
private static java.lang.String tokenizeDatabase(java.util.StringTokenizer urlTokenizer, java.lang.String url)
           
private static int tokenizeOptionalPortNumber(java.util.StringTokenizer urlTokenizer, java.lang.String url)
           
private static int tokenizeProtocol(java.lang.String url, java.util.StringTokenizer urlTokenizer)
           
private static java.lang.String tokenizeServerName(java.util.StringTokenizer urlTokenizer, java.lang.String url)
           
private static java.util.Properties tokenizeURLProperties(java.lang.String url, java.util.Properties properties)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

traceFileSuffixIndex_

private transient int traceFileSuffixIndex_

DERBY_REMOTE_PROTOCOL

private static final int DERBY_REMOTE_PROTOCOL
See Also:
Constant Field Values

factoryObject

private static ClientJDBCObjectFactory factoryObject

exceptionsOnLoadDriver__

private static java.sql.SQLException exceptionsOnLoadDriver__

registeredDriver__

private static ClientDriver registeredDriver__
Constructor Detail

ClientDriver

public ClientDriver()
Method Detail

registerMe

protected static void registerMe(ClientDriver me)

connect

public java.sql.Connection connect(java.lang.String url,
                                   java.util.Properties properties)
                            throws java.sql.SQLException
Specified by:
connect in interface java.sql.Driver
Throws:
java.sql.SQLException

appendDatabaseAttributes

private java.lang.String appendDatabaseAttributes(java.lang.String database,
                                                  java.util.Properties augmentedProperties)
Append attributes to the database name except for user/password which are sent as part of the protocol, and SSL which is used locally in the client. Other attributes will be sent to the server with the database name Assumes augmentedProperties is not null

Parameters:
database - - Short database name
augmentedProperties - - Set of properties to append as attributes
Returns:
databaseName + attributes (e.g. mydb;create=true)

acceptsURL

public boolean acceptsURL(java.lang.String url)
                   throws java.sql.SQLException
Specified by:
acceptsURL in interface java.sql.Driver
Throws:
java.sql.SQLException

checkURLNotNull

private void checkURLNotNull(java.lang.String url)
                      throws java.sql.SQLException
Throws:
java.sql.SQLException

getPropertyInfo

public java.sql.DriverPropertyInfo[] getPropertyInfo(java.lang.String url,
                                                     java.util.Properties properties)
                                              throws java.sql.SQLException
Specified by:
getPropertyInfo in interface java.sql.Driver
Throws:
java.sql.SQLException

getMajorVersion

public int getMajorVersion()
Specified by:
getMajorVersion in interface java.sql.Driver

getMinorVersion

public int getMinorVersion()
Specified by:
getMinorVersion in interface java.sql.Driver

jdbcCompliant

public boolean jdbcCompliant()
Specified by:
jdbcCompliant in interface java.sql.Driver

tokenizeProtocol

private static int tokenizeProtocol(java.lang.String url,
                                    java.util.StringTokenizer urlTokenizer)
                             throws SqlException
Throws:
SqlException

tokenizeServerName

private static java.lang.String tokenizeServerName(java.util.StringTokenizer urlTokenizer,
                                                   java.lang.String url)
                                            throws SqlException
Throws:
SqlException

tokenizeOptionalPortNumber

private static int tokenizeOptionalPortNumber(java.util.StringTokenizer urlTokenizer,
                                              java.lang.String url)
                                       throws SqlException
Throws:
SqlException

tokenizeDatabase

private static java.lang.String tokenizeDatabase(java.util.StringTokenizer urlTokenizer,
                                                 java.lang.String url)
                                          throws SqlException
Throws:
SqlException

tokenizeURLProperties

private static java.util.Properties tokenizeURLProperties(java.lang.String url,
                                                          java.util.Properties properties)
                                                   throws SqlException
Throws:
SqlException

getFactory

public static ClientJDBCObjectFactory getFactory()
This method returns an Implementation of ClientJDBCObjectFactory depending on VM under use Currently it returns either ClientJDBCObjectFactoryImpl (or) ClientJDBCObjectFactoryImpl40


createDefaultFactoryImpl

private static ClientJDBCObjectFactory createDefaultFactoryImpl()
Returns an instance of the ClientJDBCObjectFactoryImpl class


createJDBC40FactoryImpl

private static ClientJDBCObjectFactory createJDBC40FactoryImpl()
Returns an instance of the ClientJDBCObjectFactoryImpl40 class If a ClassNotFoundException occurs then it returns an instance of ClientJDBCObjectFactoryImpl If a future version of JDBC comes then a similar method would be added say createJDBCXXFactoryImpl in which if the class is not found then it would return the lower version thus having a sort of cascading effect until it gets a valid instance


createJDBC42FactoryImpl

private static ClientJDBCObjectFactory createJDBC42FactoryImpl()
Returns an instance of the ClientJDBCObjectFactoryImpl42 class If a ClassNotFoundException occurs then it returns an instance of the most refined ClientJDBCObjectFactoryImpl possible If a future version of JDBC comes then a similar method would be added say createJDBCXXFactoryImpl in which if the class is not found then it would return the lower version thus having a sort of cascading effect until it gets a valid instance


Built on Wed 2013-06-12 15:21:56+0000, from revision ???

Apache Derby V10.10 Internals - Copyright © 2004,2013 The Apache Software Foundation. All Rights Reserved.