|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.util.Observable
com.scooterframework.orm.sqldataexpress.config.DatabaseConfig
public class DatabaseConfig
DatabaseConfig class configs the data access application during startup time. After instantiated, it is a readonly object.
Mappings between sql data type name, sql data typ code and java type name are specified here. By default, all entries in java.sql.Type class are listed here.
Developers can override or add more here. See below for examples.
All items are of the following format separated by comma.
Format: {sql data type name}:{sql data type}:{java class name}
ARRAY:2003:java.sql.Array //Types.ARRAY
BIGINT:-5:java.lang.Long //Types.BIGINT
BINARY:-2:byte[] //Types.BINARY
BIT:-7:java.lang.Boolean //Types.BIT
BLOB:2004:java.sql.Blob //Types.BLOB
BOOLEAN:16:java.lang.Boolean //Types.BOOLEAN
CHAR:1:java.lang.String //Types.CHAR
CLOB:2005:java.sql.Clob //Types.CLOB
DATALINK:70:java.lang.Object //Types.DATALINK
DATE:91:java.sql.Timestamp //Types.DATE
DECIMAL:3:java.lang.BigDecimal //Types.DECIMAL
DISTINCT:2001:java.lang.Object //Types.DISTINCT
DOUBLE:8:java.lang.Double //Types.DOUBLE
FLOAT:6:java.lang.Double //Types.FLOAT
INTEGER:4:java.lang.Integer //Types.INTEGER
JAVA_OBJECT:2000:java.lang.Object //Types.JAVA_OBJECT
LONGVARBINARY:-4:byte[] //Types.LONGVARBINARY
LONGVARCHAR:-1:java.lang.String //Types.LONGVARCHAR
LONGVARCHAR:-15:java.lang.String //Types.NCHAR
NCLOB:2011:java.sql.Clob //Types.NCLOB
NULL:0:java.lang.Object //Types.NULL
NUMERIC:2:java.lang.BigDecimal //Types.NUMERIC
NVARCHAR:-9:java.lang.String //Types.NVARCHAR
OTHER:1111:java.lang.Object //Types.OTHER
REAL:7:java.lang.Double //Types.REAL
REF:2006:java.sql.Ref //Types.REF
ROWID:-8:java.lang.Integer //Types.ROWID
SMALLINT:5:java.lang.Integer //Types.SMALLINT
SQLXML:2009:java.lang.String //Types.SQLXML
STRUCT:2002:java.sql.Struct //Types.STRUCT
TIME:92:java.sql.Time //Types.TIME
TIMESTAMP:93:java.sql.Timestamp //Types.TIMESTAMP
TINYINT:-6:java.lang.Integer //Types.TINYINT
VARBINARY:-3:byte[] //Types.VARBINARY
VARCHAR:12:java.lang.String //Types.VARCHAR
Special for ORACLE:
NUMBER:2:java.lang.BigDecimal //Types.NUMERIC
VARCHAR2:12:java.lang.String //Types.VARCHAR
Developers can add more types at startup time by adding those types in database property file.
| Field Summary | |
|---|---|
static java.util.Set<java.lang.String> |
ALL_BUILTIN_DATABASE_VENDORS
|
static java.lang.String |
ALLOWED_TRANSACTION_TYPES
All allowed transaction types: "JDBC JTA CMT" |
java.util.Map<java.lang.String,java.lang.Integer> |
allSQLDataNameTypesMap
A map of SQL data type name and its corresponding type (Integer). |
java.util.Map<java.lang.Integer,java.lang.String> |
allSQLTypeJavaNamesMap
A map of SQL data type code and its corresponding java class type name. |
static java.lang.String |
BUILTIN_DATABASE_NAME_H2
|
static java.lang.String |
BUILTIN_DATABASE_NAME_HSQLDB
|
static java.lang.String |
BUILTIN_DATABASE_NAME_MYSQL
|
static java.lang.String |
BUILTIN_DATABASE_NAME_ORACLE
|
static java.lang.String |
BUILTIN_DATABASE_NAME_POSTGRESQL
|
static java.lang.String |
BUILTIN_DATABASE_NAME_SQLSERVER
|
static java.lang.String |
BUILTIN_DATABASE_NAME_SYBASE
|
static java.lang.String |
DATA_PROPERTIES_FILE
Property file for database properties. |
static int |
DEFAULT_VALUE_acquire_increment
|
static java.lang.String |
DEFAULT_VALUE_additionalSQLDataTypeMapping
|
static java.lang.String |
DEFAULT_VALUE_autoAuditCreate
|
static java.lang.String |
DEFAULT_VALUE_autoAuditUpdate
|
static java.lang.String |
DEFAULT_VALUE_defaultDatabaseConnection
|
static java.lang.String |
DEFAULT_VALUE_defaultTransactionType
|
static java.lang.String |
DEFAULT_VALUE_gloablTableNamingPrefix
|
static java.lang.String |
DEFAULT_VALUE_gloablTableNamingSuffix
|
static int |
DEFAULT_VALUE_initial_pool_size
|
static int |
DEFAULT_VALUE_max_idle_time
|
static int |
DEFAULT_VALUE_max_pool_size
|
static int |
DEFAULT_VALUE_min_pool_size
|
static java.lang.String |
DEFAULT_VALUE_usePluralTableName
|
static java.lang.String |
KEY_DB_CONNECTION_ACQUIRE_INCREMENT
Key to represent acquire_increment property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_ADAPTER_CLASS_NAME
Key to represent adapterClassName property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_AFTER
Key to represent afterConnection property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_AUTOCOMMIT
Key to represent readonly property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_BEFORE
Key to represent beforeConenction property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_DATASOURCE_NAME
Key to represent dataSourceName property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_DRIVER
Key to represent driver property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_INITIAL_POOL_SIZE
Key to represent initial_pool_size property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_MAX_IDLE_TIME
Key to represent max_idle_time property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_MAX_POOL_SIZE
Key to represent max_pool_size property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_MIN_POOL_SIZE
Key to represent min_pool_size property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_NAME
Key to represent connection name property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_NAME_PREFIX
Key to represent a property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_PASSWORD
Key to represent password property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_READONLY
Key to represent readonly property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_SCHEMA
Key to represent schema property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_TIMEOUT
Key to represent timeout property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_TRANSACTION_ISOLATION_LEVEL
Key to represent transactionIsolationLevel property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_TRANSACTION_TYPE
Key to represent transactionType property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_URL
Key to represent url property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_USE_LOGIN_AS_SCHEMA
Key to represent use_login_as_schema property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_USE_LOGIN_FOR_CONNECTION
Key to represent use_login_for_connection property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_USERNAME
Key to represent username property in database connection properties. |
static java.lang.String |
KEY_DB_CONNECTION_VENDOR
Key to represent vendor property in database connection properties. |
static java.lang.String |
PRIMARY_KEY_SEPARATOR
A hyphen "-" is used to link composite primary key fields. |
| Method Summary | |
|---|---|
boolean |
allowAutoAuditCreate()
Checks if auto audit is allowed for create operation. |
boolean |
allowAutoAuditUpdate()
Checks if auto audit is allowed for update operation. |
void |
destroy()
Destroys all connection pools if there is any. |
java.util.List<java.lang.String> |
getAutoAuditListForCreate()
Returns list of potential column names that are automatically audited for create operation. |
java.util.List<java.lang.String> |
getAutoAuditListForUpdate()
Returns list of potential column names that are automatically audited for update operation. |
java.lang.String |
getDefaultDatabaseConnectionName()
Returns default database connection name |
java.util.Properties |
getDefaultDatabaseConnectionProperties()
Returns default database connection properties |
java.lang.String |
getDefaultTransactionType()
Returns default transaction type |
java.lang.String |
getFullTableName(java.lang.String table)
Returns a full table name. |
java.lang.String |
getGlobalTableNamingPrefix()
Returns global table naming prefix |
java.lang.String |
getGlobalTableNamingSuffix()
Returns global table naming suffix |
static DatabaseConfig |
getInstance()
|
javax.sql.DataSource |
getPooledDataSource()
Returns pooled data source for default connection name |
javax.sql.DataSource |
getPooledDataSource(java.lang.String connectionName)
Returns pooled data source for a connection name |
java.util.Iterator<java.lang.String> |
getPredefinedDatabaseConnectionNames()
Returns database connection names |
java.util.Properties |
getPredefinedDatabaseConnectionProperties(java.lang.String connName)
Returns database connection properties |
java.util.Properties |
getProperties()
Returns all properties. |
java.lang.String |
getProperty(java.lang.String key)
Returns a String property corresponding to a key. |
java.lang.String |
getProperty(java.lang.String key,
java.lang.String defaultValue)
Returns a String property corresponding to a key. |
java.util.Map<java.lang.String,NamedProperties> |
getReferenceDataMap()
Returns a map of all reference data |
java.util.List<java.lang.String> |
getReferenceDataNames()
Returns a list of all reference data names |
java.util.Properties |
getReferenceDataProperties(java.lang.String referenceDataName)
Returns properties of reference data specified by the name |
java.lang.String |
getSimpleTableName(java.lang.String fullTableName)
Returns a simple table name. |
java.util.Map<java.lang.String,java.lang.Integer> |
getSQLDataNameTypesMap()
Returns map of sql data type name / data type code. |
java.util.Map<java.lang.Integer,java.lang.String> |
getSQLTypeJavaNamesMap()
Returns map of sql data type code / java type name. |
boolean |
isAutoAuditCreate(java.lang.String column)
Checks if a column is auto audited for create operation. |
boolean |
isAutoAuditUpdate(java.lang.String column)
Checks if a column is auto audited for update operation. |
static boolean |
isBuiltInVendorName(java.lang.String vendor)
Checks if a vendor name is allowed. |
boolean |
isInDevelopmentEnvironment()
Checks if the current running environment is development environment. |
void |
restoreDefaultDatabaseConnectionName()
|
java.lang.String |
tryToUseTestDatabaseConnection()
|
void |
update(java.util.Observable o,
java.lang.Object arg)
Required method by Observer interface. |
boolean |
usePluralTableName()
Checks if using plural nones as table name |
| Methods inherited from class java.util.Observable |
|---|
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String PRIMARY_KEY_SEPARATOR
public static final java.lang.String DATA_PROPERTIES_FILE
public static final java.lang.String ALLOWED_TRANSACTION_TYPES
public static final java.lang.String KEY_DB_CONNECTION_NAME_PREFIX
public static final java.lang.String KEY_DB_CONNECTION_NAME
public static final java.lang.String KEY_DB_CONNECTION_TRANSACTION_TYPE
public static final java.lang.String KEY_DB_CONNECTION_DATASOURCE_NAME
public static final java.lang.String KEY_DB_CONNECTION_BEFORE
public static final java.lang.String KEY_DB_CONNECTION_AFTER
public static final java.lang.String KEY_DB_CONNECTION_TIMEOUT
public static final java.lang.String KEY_DB_CONNECTION_USERNAME
public static final java.lang.String KEY_DB_CONNECTION_PASSWORD
public static final java.lang.String KEY_DB_CONNECTION_DRIVER
public static final java.lang.String KEY_DB_CONNECTION_URL
public static final java.lang.String KEY_DB_CONNECTION_READONLY
public static final java.lang.String KEY_DB_CONNECTION_AUTOCOMMIT
public static final java.lang.String KEY_DB_CONNECTION_TRANSACTION_ISOLATION_LEVEL
public static final java.lang.String KEY_DB_CONNECTION_VENDOR
public static final java.lang.String KEY_DB_CONNECTION_SCHEMA
public static final java.lang.String KEY_DB_CONNECTION_USE_LOGIN_AS_SCHEMA
public static final java.lang.String KEY_DB_CONNECTION_USE_LOGIN_FOR_CONNECTION
public static final java.lang.String KEY_DB_CONNECTION_ADAPTER_CLASS_NAME
public static final java.lang.String KEY_DB_CONNECTION_MAX_POOL_SIZE
public static final java.lang.String KEY_DB_CONNECTION_MIN_POOL_SIZE
public static final java.lang.String KEY_DB_CONNECTION_ACQUIRE_INCREMENT
public static final java.lang.String KEY_DB_CONNECTION_INITIAL_POOL_SIZE
public static final java.lang.String KEY_DB_CONNECTION_MAX_IDLE_TIME
public static final java.lang.String BUILTIN_DATABASE_NAME_H2
public static final java.lang.String BUILTIN_DATABASE_NAME_HSQLDB
public static final java.lang.String BUILTIN_DATABASE_NAME_MYSQL
public static final java.lang.String BUILTIN_DATABASE_NAME_ORACLE
public static final java.lang.String BUILTIN_DATABASE_NAME_POSTGRESQL
public static final java.lang.String BUILTIN_DATABASE_NAME_SQLSERVER
public static final java.lang.String BUILTIN_DATABASE_NAME_SYBASE
public static final java.util.Set<java.lang.String> ALL_BUILTIN_DATABASE_VENDORS
public static final java.lang.String DEFAULT_VALUE_defaultTransactionType
public static final java.lang.String DEFAULT_VALUE_defaultDatabaseConnection
public static final java.lang.String DEFAULT_VALUE_gloablTableNamingPrefix
public static final java.lang.String DEFAULT_VALUE_gloablTableNamingSuffix
public static final java.lang.String DEFAULT_VALUE_usePluralTableName
public static final java.lang.String DEFAULT_VALUE_autoAuditCreate
public static final java.lang.String DEFAULT_VALUE_autoAuditUpdate
public static final java.lang.String DEFAULT_VALUE_additionalSQLDataTypeMapping
public static final int DEFAULT_VALUE_max_pool_size
public static final int DEFAULT_VALUE_min_pool_size
public static final int DEFAULT_VALUE_acquire_increment
public static final int DEFAULT_VALUE_initial_pool_size
public static final int DEFAULT_VALUE_max_idle_time
public final java.util.Map<java.lang.String,java.lang.Integer> allSQLDataNameTypesMap
A map of SQL data type name and its corresponding type (Integer).
public final java.util.Map<java.lang.Integer,java.lang.String> allSQLTypeJavaNamesMap
A map of SQL data type code and its corresponding java class type name.
| Method Detail |
|---|
public static DatabaseConfig getInstance()
public java.util.Map<java.lang.String,java.lang.Integer> getSQLDataNameTypesMap()
public java.util.Map<java.lang.Integer,java.lang.String> getSQLTypeJavaNamesMap()
public void update(java.util.Observable o,
java.lang.Object arg)
update in interface java.util.Observerpublic java.util.Properties getProperties()
public java.lang.String getProperty(java.lang.String key)
public java.lang.String getProperty(java.lang.String key,
java.lang.String defaultValue)
public java.lang.String getDefaultTransactionType()
public java.lang.String getGlobalTableNamingPrefix()
public java.lang.String getGlobalTableNamingSuffix()
public boolean usePluralTableName()
public java.lang.String getFullTableName(java.lang.String table)
For example, in a crm schema, all tables might have prefix "CRM_". Therefore, a USER table's full name is CRM_USER.
table - a slim table name
public java.lang.String getSimpleTableName(java.lang.String fullTableName)
For example, if the table name is "CRM_users_US" which has a prefix "CRM_" and a suffix "_US", the returned slim table name is just "users". Both the prefix and the suffix are removed in the return value.
fullTableName - a full table name
public boolean isInDevelopmentEnvironment()
public java.lang.String getDefaultDatabaseConnectionName()
public java.lang.String tryToUseTestDatabaseConnection()
public void restoreDefaultDatabaseConnectionName()
public java.util.Properties getDefaultDatabaseConnectionProperties()
public java.util.Properties getPredefinedDatabaseConnectionProperties(java.lang.String connName)
public java.util.Iterator<java.lang.String> getPredefinedDatabaseConnectionNames()
public java.util.Properties getReferenceDataProperties(java.lang.String referenceDataName)
public java.util.List<java.lang.String> getReferenceDataNames()
public java.util.Map<java.lang.String,NamedProperties> getReferenceDataMap()
public boolean allowAutoAuditCreate()
public boolean allowAutoAuditUpdate()
public java.util.List<java.lang.String> getAutoAuditListForCreate()
public java.util.List<java.lang.String> getAutoAuditListForUpdate()
public boolean isAutoAuditCreate(java.lang.String column)
public boolean isAutoAuditUpdate(java.lang.String column)
public static boolean isBuiltInVendorName(java.lang.String vendor)
public javax.sql.DataSource getPooledDataSource(java.lang.String connectionName)
public javax.sql.DataSource getPooledDataSource()
public void destroy()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||