|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--velosurf.sql.DBConnection
this class encapsulates a connection to the database and contains all the stuff relative to it
Field Summary | |
static int |
CASE_SENSITIVE
case-sensitive policy |
static int |
LOWERCASE
|
protected int |
mCaseSensivity
case-sensivity |
protected java.sql.PreparedStatement |
mCheckStatement
statement used to check database connection ("select 1") |
protected java.sql.PreparedStatement |
mCheckTransactionStatement
statement used to check database transaction connection |
protected java.sql.Connection |
mConnection
database connection |
private Cryptograph |
mCryptograph
cryptograph used to encrypt/decrypt database ids |
protected int |
mDefaultCaching
default caching mode |
protected boolean |
mDefaultReadOnly
default access mode |
protected boolean |
mDefFileRead
has the config file been read ? |
protected DriverInfo |
mDriverInfo
driver infos (database vendor specific) |
protected java.util.Map |
mEntities
map name->entity |
protected java.lang.String |
mError
error string for the last error |
protected boolean |
mOpened
is the database opened ? |
protected java.lang.String |
mPassword
database user's password |
protected PreparedStatementPool |
mPreparedStatementPool
pool of prepared statements |
protected Entity |
mRootEntity
root entity that contains all root attributes and actions |
protected java.lang.String |
mSchema
schema |
protected StatementPool |
mStatementPool
pool of statements |
protected java.sql.Connection |
mTransactionConnection
database connection used for transactions |
protected java.lang.String |
mUrl
database url |
protected java.lang.String |
mUser
database user |
static int |
UPPERCASE
|
Constructor Summary | |
protected |
DBConnection()
builds a new connection |
protected |
DBConnection(java.lang.String inUser,
java.lang.String inPassword,
java.lang.String inUrl)
builds a new connection |
protected |
DBConnection(java.lang.String inUser,
java.lang.String inPassword,
java.lang.String inUrl,
java.lang.String inDriver)
builds a new connection |
protected |
DBConnection(java.lang.String inUser,
java.lang.String inPassword,
java.lang.String inUrl,
java.lang.String inDriver,
java.lang.String inSchema)
builds a new connection |
Method Summary | |
java.lang.String |
adaptCase(java.lang.String identifier)
changes to lowercase or uppercase if needed |
protected void |
checkConnection()
check connection |
protected void |
checkTransactionConnection()
check transaction connection |
void |
close()
close the connection |
java.lang.String |
deobfuscate(java.lang.Object value)
de-obfuscate the given value |
void |
displayStats()
display statistics about the statements pools |
java.lang.Object |
evaluate(java.lang.String inQuery)
evaluate a query to a scalar |
Action |
getAction(java.lang.String inName)
get a named action |
Attribute |
getAttribute(java.lang.String inName)
get a named attribute |
int |
getCaseSensivity()
get database case-sensivity |
java.sql.Connection |
getConnection()
get the underlying jdbc connection |
DriverInfo |
getDriverInfo()
get database vendor |
Entity |
getEntity(java.lang.String inName)
get an existing entity |
Entity |
getEntityCreate(java.lang.String name)
get a named entity or creeate it if it doesn't exist |
java.lang.String |
getError()
get the error string |
static DBConnection |
getInstance(java.io.InputStream inConfig)
get a new connection |
static DBConnection |
getInstance(java.lang.String inConfigFilename)
get an instance to a new connection |
static DBConnection |
getInstance(java.lang.String inUser,
java.lang.String inPassword,
java.lang.String inUrl,
java.lang.String inDriver)
get an instance to a new connection (meant to have a cache params->connections, not implemented, always return a new connection : similar to the equivalent constructor) |
java.sql.Connection |
getTransactionConnection()
get the underlying jdbc connection used for transactions |
protected static DriverInfo |
loadDriver(java.lang.String inUrl,
java.lang.String inDriver)
loads the appropriate driver |
java.lang.String |
obfuscate(java.lang.Object value)
obfuscate the given value |
protected void |
open(java.lang.String inUser,
java.lang.String inPassword,
java.lang.String inUrl)
open the connection |
protected void |
open(java.lang.String inUser,
java.lang.String inPassword,
java.lang.String inUrl,
java.lang.String inDriver)
open the connection |
protected void |
open(java.lang.String inUser,
java.lang.String inPassword,
java.lang.String inUrl,
java.lang.String inDriver,
java.lang.String inSchema)
open the connection |
private static int |
parseCaching(java.lang.String caching)
parse a caching value |
PooledPreparedStatement |
prepare(java.lang.String inQuery)
prepare a query |
RowIterator |
query(java.lang.String inQuery)
issue a query |
RowIterator |
query(java.lang.String inQuery,
Entity inEntity)
issue a query, knowing the resulting entity |
void |
readConfigFile(java.io.InputStream inConfig)
read configuration from the given input stream |
void |
readConfigFile(java.lang.String inConfigFile)
read the given config file |
protected void |
readMetaData()
read the meta data from the database : reverse engeenering |
protected void |
reopen()
reopen the connection |
void |
setError(java.lang.String inError)
set the error string |
PooledPreparedStatement |
transactionPrepare(java.lang.String inQuery)
prepare a query which is part of a transaction |
int |
transactionUpdate(java.lang.String inQuery)
issue an update query that is part of a transaction |
int |
update(java.lang.String inQuery)
issues an update query |
Methods inherited from class java.lang.Object |
|
Field Detail |
protected java.lang.String mUser
protected java.lang.String mPassword
protected java.lang.String mUrl
protected java.lang.String mSchema
protected java.sql.Connection mConnection
protected java.sql.Connection mTransactionConnection
protected StatementPool mStatementPool
protected PreparedStatementPool mPreparedStatementPool
protected boolean mDefaultReadOnly
protected int mDefaultCaching
protected boolean mOpened
protected boolean mDefFileRead
protected java.lang.String mError
protected java.util.Map mEntities
protected Entity mRootEntity
protected DriverInfo mDriverInfo
protected java.sql.PreparedStatement mCheckStatement
protected java.sql.PreparedStatement mCheckTransactionStatement
private Cryptograph mCryptograph
public static final int CASE_SENSITIVE
public static final int UPPERCASE
public static final int LOWERCASE
protected int mCaseSensivity
Constructor Detail |
protected DBConnection() throws java.sql.SQLException
java.sql.SQLException
- thrown by the database engineprotected DBConnection(java.lang.String inUser, java.lang.String inPassword, java.lang.String inUrl) throws java.sql.SQLException
inUser
- user nameinPassword
- passwordinUrl
- database urljava.sql.SQLException
- thrown by the database engineprotected DBConnection(java.lang.String inUser, java.lang.String inPassword, java.lang.String inUrl, java.lang.String inDriver) throws java.sql.SQLException
inUser
- user nameinPassword
- passwordinUrl
- database urlinDriver
- driver java class namejava.sql.SQLException
- thrown by the database engineprotected DBConnection(java.lang.String inUser, java.lang.String inPassword, java.lang.String inUrl, java.lang.String inDriver, java.lang.String inSchema) throws java.sql.SQLException
inUser
- user nameinPassword
- passwordinUrl
- database urlinDriver
- driver java class nameinSchema
- schema name to usejava.sql.SQLException
- thrown by the database engineMethod Detail |
protected void open(java.lang.String inUser, java.lang.String inPassword, java.lang.String inUrl) throws java.sql.SQLException
inUser
- user nameinPassword
- passwordinUrl
- database urljava.sql.SQLException
- thrown by the database engineprotected void open(java.lang.String inUser, java.lang.String inPassword, java.lang.String inUrl, java.lang.String inDriver) throws java.sql.SQLException
inUser
- user nameinPassword
- passwordinUrl
- database urlinDriver
- driver java class namejava.sql.SQLException
- thrown by the database engineprotected void open(java.lang.String inUser, java.lang.String inPassword, java.lang.String inUrl, java.lang.String inDriver, java.lang.String inSchema) throws java.sql.SQLException
inUser
- user nameinPassword
- passwordinUrl
- database urlinDriver
- driver java class nameinSchema
- schema namejava.sql.SQLException
- thrown by the database engineprotected static DriverInfo loadDriver(java.lang.String inUrl, java.lang.String inDriver)
inUrl
- database urlinDriver
- driver java class nameprotected void reopen() throws java.sql.SQLException
java.sql.SQLException
- thrown by the database enginepublic static DBConnection getInstance(java.lang.String inUser, java.lang.String inPassword, java.lang.String inUrl, java.lang.String inDriver) throws java.sql.SQLException
inUser
- user nameinPassword
- passwordinUrl
- database urlinDriver
- driver java class namejava.sql.SQLException
- thrown by the database enginepublic static DBConnection getInstance(java.lang.String inConfigFilename) throws java.sql.SQLException
inConfigFilename
- config filenamejava.sql.SQLException
- thrown by the database enginepublic static DBConnection getInstance(java.io.InputStream inConfig) throws java.sql.SQLException
inConfig
- config filenamejava.sql.SQLException
- thrown by the database enginepublic RowIterator query(java.lang.String inQuery)
inQuery
- an SQL querypublic RowIterator query(java.lang.String inQuery, Entity inEntity)
inQuery
- an SQL queryinEntity
- the resulting entitypublic java.lang.Object evaluate(java.lang.String inQuery)
inQuery
- an sql querypublic PooledPreparedStatement prepare(java.lang.String inQuery)
inQuery
- an sql querypublic PooledPreparedStatement transactionPrepare(java.lang.String inQuery)
inQuery
- an sql querypublic int update(java.lang.String inQuery)
inQuery
- an sql querypublic int transactionUpdate(java.lang.String inQuery)
inQuery
- an sql querypublic void close() throws java.sql.SQLException
java.sql.SQLException
- thrown by the database enginepublic void displayStats()
public java.sql.Connection getConnection()
public java.sql.Connection getTransactionConnection()
protected void readMetaData() throws java.sql.SQLException
java.sql.SQLException
- thrown by the database enginepublic void readConfigFile(java.lang.String inConfigFile) throws java.sql.SQLException
inConfigFile
- config file pathnamejava.sql.SQLException
- thrown by the database enginepublic void readConfigFile(java.io.InputStream inConfig) throws java.sql.SQLException
inConfig
- input stream on the config filejava.sql.SQLException
- thrown by the database enginepublic java.lang.String adaptCase(java.lang.String identifier)
identifier
- private static int parseCaching(java.lang.String caching)
caching
- string describing the type of cachingpublic Entity getEntityCreate(java.lang.String name)
name
- name of an entitypublic Entity getEntity(java.lang.String inName)
inName
- the name of an entitypublic Attribute getAttribute(java.lang.String inName)
inName
- name of an attributepublic Action getAction(java.lang.String inName)
inName
- name of an attributepublic void setError(java.lang.String inError)
inError
- error stringpublic java.lang.String getError()
protected void checkConnection() throws java.sql.SQLException
java.sql.SQLException
- thrown by the database engineprotected void checkTransactionConnection() throws java.sql.SQLException
java.sql.SQLException
- thrown by the database enginepublic java.lang.String obfuscate(java.lang.Object value)
value
- value to obfuscatepublic java.lang.String deobfuscate(java.lang.Object value)
value
- value to de-obfuscatepublic DriverInfo getDriverInfo()
public int getCaseSensivity()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |