|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.objectweb.cjdbc.driver.CjdbcUrl
This class defines a C-JDBC url with parsed Metadata and so on. The connection policy is interpreted while reading the URL. We could rename it to ParsedURL.
Field Summary | |
private AbstractControllerConnectPolicy |
controllerConnectPolicy
|
private ControllerInfo[] |
controllerList
|
private java.lang.String |
databaseName
|
static int |
DEBUG_LEVEL_DEBUG
Most verbose level of debug |
static int |
DEBUG_LEVEL_INFO
Informational level of debug |
static int |
DEBUG_LEVEL_OFF
No debug messages |
private int |
debugLevel
|
private java.util.HashMap |
parameters
|
private java.lang.String |
url
|
Constructor Summary | |
CjdbcUrl(java.lang.String url)
Creates a new CjdbcUrl object, parse it and instantiate the
connection creation policy. |
Method Summary | |
private AbstractControllerConnectPolicy |
createConnectionPolicy()
Create the corresponding controller connect policy according to what is found in the URL. |
AbstractControllerConnectPolicy |
getControllerConnectPolicy()
Returns the controllerConnectPolicy value. |
ControllerInfo[] |
getControllerList()
Returns the controllerList value. |
java.lang.String |
getDatabaseName()
Returns the database name. |
java.util.HashMap |
getParameters()
Returns the URL parameters/value in a HashMap (warning this is not a clone). |
java.lang.String |
getUrl()
Returns the url value. |
boolean |
isDebugEnabled()
Returns true if debugging is set to debug level 'debug' |
boolean |
isInfoEnabled()
Returns true if debug level is 'info' or greater |
static ControllerInfo |
parseController(java.lang.String controller)
Checks the validity of the hostname, port number and controller name given in the URL and build the full URL used to lookup a controller. |
private void |
parseUrl()
Checks for URL correctness and extract database name, controller list and parameters. |
private java.util.HashMap |
parseUrlParams(java.lang.String urlString)
Parse the given URL and returns the parameters in a HashMap containing ParamaterName=>Value. |
private java.util.HashMap |
parseUrlParams(java.lang.String urlString,
char beginMarker,
java.lang.String parameterSeparator,
java.lang.String equal)
Parse the given URL looking for parameters starting after the beginMarker, using parameterSeparator as the separator between parameters and equal as the delimiter between a parameter and its value. |
void |
setUrl(java.lang.String url)
Sets the url value. |
private static java.lang.Character |
validDatabaseName(java.lang.String databaseName)
Checks that the given name contains acceptable characters for a database name ([0-9][A-Z][a-z]["-_"]). |
private static java.lang.Character |
validHostname(java.lang.String hostname)
Checks that the given name contains acceptable characters for a hostname name ([0-9][A-Z][a-z][["-_."]). |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private java.lang.String url
private java.lang.String databaseName
private ControllerInfo[] controllerList
private java.util.HashMap parameters
private AbstractControllerConnectPolicy controllerConnectPolicy
private int debugLevel
public static final int DEBUG_LEVEL_DEBUG
public static final int DEBUG_LEVEL_INFO
public static final int DEBUG_LEVEL_OFF
Constructor Detail |
public CjdbcUrl(java.lang.String url) throws java.sql.SQLException
CjdbcUrl
object, parse it and instantiate the
connection creation policy.
url
- the URL to parse
java.sql.SQLException
- if an error occurs while parsing the urlMethod Detail |
public boolean isDebugEnabled()
public boolean isInfoEnabled()
public AbstractControllerConnectPolicy getControllerConnectPolicy()
public ControllerInfo[] getControllerList()
public java.lang.String getDatabaseName()
public java.util.HashMap getParameters()
The HashMap is 'parameter name'=>'value'
public java.lang.String getUrl()
public void setUrl(java.lang.String url)
url
- The url to set.private AbstractControllerConnectPolicy createConnectionPolicy()
RandomConnectPolicy
is returned.
AbstractControllerConnectPolicy
private void parseUrl() throws java.sql.SQLException
java.sql.SQLException
- if an error occurs.private java.util.HashMap parseUrlParams(java.lang.String urlString) throws java.sql.SQLException
urlString
- the URL to parse
java.sql.SQLException
- if an error occursprivate java.util.HashMap parseUrlParams(java.lang.String urlString, char beginMarker, java.lang.String parameterSeparator, java.lang.String equal) throws java.sql.SQLException
urlString
- the URL to parsebeginMarker
- delimiter for beginning of parametersparameterSeparator
- delimiter between parametersequal
- delimiter between parameter and its value
java.sql.SQLException
- if an error occurspublic static ControllerInfo parseController(java.lang.String controller) throws java.sql.SQLException
controller
- information regarding a controller.
ControllerInfo
object
java.sql.SQLException
- if an error occurs.private static java.lang.Character validHostname(java.lang.String hostname)
hostname
- name to check (caller must check that it is not
null
).
null
if the hostname is acceptable, else the
character that causes the fault.private static java.lang.Character validDatabaseName(java.lang.String databaseName)
databaseName
- name to check (caller must check that it is not
null
).
null
if the name is acceptable, else the character
that causes the fault.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |