org.firebirdsql.jdbc
Class FBConnectionHelper

java.lang.Object
  extended byorg.firebirdsql.jdbc.FBConnectionHelper

public class FBConnectionHelper
extends java.lang.Object

This class maps the extended JDBC properties to the FBConnectionRequestInfo instance. It uses java.lang.reflection. to determine correct type of the parameter passed to the Driver.connect(String, Properties) method.

Version:
1.0
Author:
Roman Rokytskyy

Field Summary
static java.lang.String DPB_PREFIX
           
static java.lang.String ISC_ENCODING_SIZE_RESOURCE
           
static java.lang.String ISC_ENCODINGS_RESOURCE
           
static java.lang.String TPB_PREFIX
           
static java.lang.String TRANSACTION_READ_COMMITTED
           
static java.lang.String TRANSACTION_REPEATABLE_READ
           
static java.lang.String TRANSACTION_SERIALIZABLE
           
 
Constructor Summary
FBConnectionHelper()
           
 
Method Summary
static int getCharacterSetSize(int characterSetId)
          Get size of a character for the specified character set.
static FBConnectionRequestInfo getCri(java.util.Properties info, FBConnectionRequestInfo baseCri)
          Get the instance of FBConnectionRequestInfo containing all relevant parameters from the info properties.
static FBConnectionRequestInfo getCri(java.util.Properties info, GDS gdsToUse)
          Get the instance of FBConnectionRequestInfo containing all relevant parameters from the info properties.
static FBConnectionRequestInfo getDefaultCri(GDS gds)
           
static java.lang.Integer getDpbKey(java.lang.String name)
          Get integer value of the DPB key corresponding to the specified name.
static java.util.Map getDpbMap()
          Get mapping between DPB names and their keys.
static java.lang.String getIscEncoding(java.lang.String javaEncoding)
          Get InterBase encoding for given Java language encoding.
static int getIscEncodingSize(java.lang.String iscEncoding)
          Get size of a character for the specified InterBase encoding.
static java.lang.String getJavaEncoding(java.lang.String iscEncoding)
          Get Java language encoding for given InterBase encoding.
static FBTpb getTpb(java.util.Properties info)
          Get the transaction parameter buffer using the information supplied with connection.
static FBTpbMapper getTpbMapper(java.util.Properties info)
          This method extracts TPB mapping information from the connection parameters.
static java.lang.Integer getTpbParam(java.lang.String name)
          Get value of TPB parameter for the specified name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TRANSACTION_SERIALIZABLE

public static final java.lang.String TRANSACTION_SERIALIZABLE
See Also:
Constant Field Values

TRANSACTION_REPEATABLE_READ

public static final java.lang.String TRANSACTION_REPEATABLE_READ
See Also:
Constant Field Values

TRANSACTION_READ_COMMITTED

public static final java.lang.String TRANSACTION_READ_COMMITTED
See Also:
Constant Field Values

DPB_PREFIX

public static final java.lang.String DPB_PREFIX
See Also:
Constant Field Values

TPB_PREFIX

public static final java.lang.String TPB_PREFIX
See Also:
Constant Field Values

ISC_ENCODINGS_RESOURCE

public static final java.lang.String ISC_ENCODINGS_RESOURCE
See Also:
Constant Field Values

ISC_ENCODING_SIZE_RESOURCE

public static final java.lang.String ISC_ENCODING_SIZE_RESOURCE
See Also:
Constant Field Values
Constructor Detail

FBConnectionHelper

public FBConnectionHelper()
Method Detail

getDefaultCri

public static FBConnectionRequestInfo getDefaultCri(GDS gds)

getCri

public static FBConnectionRequestInfo getCri(java.util.Properties info,
                                             FBConnectionRequestInfo baseCri)
Get the instance of FBConnectionRequestInfo containing all relevant parameters from the info properties. The FBConnectionRequestInfo instance returned will be 'bound' to the same GDS implementation as baseCri.

Parameters:
info - instance of Properties containing connection parameters.
baseCri - connection request info used as the base for a newly created one. All types are copied from the baseCri into the result, but these properties can be overriden by the info properties. Can be null.
Returns:
instance of FBConnectionRequestInfo containing all relevant connection parameters.

getCri

public static FBConnectionRequestInfo getCri(java.util.Properties info,
                                             GDS gdsToUse)
Get the instance of FBConnectionRequestInfo containing all relevant parameters from the info properties. The FBConnectionRequestInfo instance returned will be 'bound' to the same GDS implementation supplied in the gdsToUse parameter.

Parameters:
info - instance of Properties containing connection parameters.
gdsToUse - The GDS implementation to which the returned FBConnectionRequestInfo will be bound.
Returns:
instance of FBConnectionRequestInfo containing all relevant connection parameters.

getDpbKey

public static java.lang.Integer getDpbKey(java.lang.String name)
Get integer value of the DPB key corresponding to the specified name.

Parameters:
name - name of the key.
Returns:
instance of Integer corresponding to the specified name or null if value is not known.

getDpbMap

public static java.util.Map getDpbMap()
Get mapping between DPB names and their keys.

Returns:
instance of Map, where key is the name of DPB parameter, value is its DPB key.

getTpb

public static FBTpb getTpb(java.util.Properties info)
Get the transaction parameter buffer using the information supplied with connection.

Parameters:
info - instance of Properties containing the connection parameters.
Returns:
a TPB containing all relevant parameters extracted from info

getTpbMapper

public static FBTpbMapper getTpbMapper(java.util.Properties info)
                                throws FBResourceException
This method extracts TPB mapping information from the connection parameters. Two formats are supported:

Parameters:
info - connection parameters passed into a driver.
Returns:
instance of FBTpbMapper containing specified TPB mapping or null if not TPB mapping was specified.
Throws:
FBResourceException - if specified mapping is incorrect.

getTpbParam

public static java.lang.Integer getTpbParam(java.lang.String name)
Get value of TPB parameter for the specified name. This method tries to match string representation of the TPB parameter with its value.

Parameters:
name - string representation of TPB parameter, can have "isc_tpb_" prefix.
Returns:
value corresponding to the specified parameter name or null if nothing was found.

getJavaEncoding

public static java.lang.String getJavaEncoding(java.lang.String iscEncoding)
Get Java language encoding for given InterBase encoding.

Parameters:
iscEncoding - InterBase encoding
Returns:
corresponding Java encoding or null if none found.

getIscEncoding

public static java.lang.String getIscEncoding(java.lang.String javaEncoding)
Get InterBase encoding for given Java language encoding.

Parameters:
javaEncoding - Java language encoding.
Returns:
corresponding InterBase encoding or null if none found.

getIscEncodingSize

public static int getIscEncodingSize(java.lang.String iscEncoding)
Get size of a character for the specified InterBase encoding.

Parameters:
iscEncoding - InterBase encoding.
Returns:
maximum size of the character in bytes or 1 if encoding was not found.

getCharacterSetSize

public static int getCharacterSetSize(int characterSetId)
Get size of a character for the specified character set.

Parameters:
characterSetId - of the character set.
Returns:
maximum size of the character in bytes or 1 if charset was not found.


Copyright © 2001 David Jencks and other authors. All rights reserved.