de.pkjs.pl
Class Database

java.lang.Object
  extended by de.pkjs.pl.Database
All Implemented Interfaces:
DatabaseMBean

public final class Database
extends java.lang.Object
implements DatabaseMBean

Author:
ikunin

Nested Class Summary
static class Database.NamedStatement
           
 
Field Summary
static int AXION
           
static int CACHE
           
static java.util.LinkedHashMap<java.lang.String,java.lang.Integer> databaseTypes
           
static int DB2
           
static int FIREBIRD
           
static int HSQLDB
           
static int JDBC_ODBC
           
static int MAX_DB
           
static int MCKOI
           
static int MYSQL
           
static int ORACLE
           
static int POSTGRES
           
static int SQL_SERVER
           
static int SYBASE
           
static int UNKNOWN
           
 
Method Summary
 Request createRequest(java.lang.String datasetname)
          Erzeugt einen leeren Request mit dem angegebenen Dataset-Namen.
 de.pkjs.pl.Database.BatchStatement getBatchStatement(java.lang.String name)
           
 long getConnectionTimeOut()
           
 java.util.Date getCreatedTimeStamp()
           
 java.lang.String getCreateUserField()
          Liefert den Namen des Feldes, in das der Benutzername beim Insert eingetragen werden soll.
 electric.xml.Document getDatabaseConfig()
          Liefert die Zugriffsdefinitionen aus DatabaseConfig.xml
 electric.xml.Document getDatabaseMetaDataDoc()
          Liefert die Metadaten zu dieser Datenbank als XML-Document.
 java.lang.String getDatabaseName()
          Liefert den Namen dieser Datenbank.
 int getDatabaseType()
           
 java.lang.String getDatabaseURL()
          Liefert die URL über die der JDBC-Trieber auf die Datenbank zugreift.
 java.lang.String getDatasetDefinitionFileName()
           
 java.lang.String getDatasetElementName()
          Element-Name für Root-Element des Ergebnis-Dokuments.
 java.util.ArrayList<java.lang.String> getDatasetNames()
          Liefert eine Liste mit den Namen der definierten Datenbank-Zugriffe.
 java.lang.String getDataSource()
           
 JDataTable getDataTable(java.lang.String name)
          Liefert die Tabellendefinition mit dem angegebenen Tabellennamen.
 java.util.ArrayList<java.lang.String> getDataTableNames()
          Liefert eine ArrayList von Strings mit allen Tabellennamen.
 java.util.Iterator<JDataTable> getDataTables()
          Liefert einen Iterator über alle Tabellen und Views der Datenbank.
 java.text.SimpleDateFormat getDateFormat()
           
 java.text.DecimalFormat getDecimalFormat()
           
 electric.xml.Element getElement()
           
 java.lang.String getEncoding()
           
 java.lang.String getGetSequence()
           
 java.lang.String getInitializationScript()
          Liefert die bei der Initialisierung des Pools anfangs ausgeführten Statements
 java.lang.String getJDBCDriver()
          Liefert die Klassennamen des JDBC-Treibers.
 java.lang.String getLayerName()
           
 int getMaxActive()
           
 int getMaxIdle()
           
 JDataRow getMetaDataRow()
          Liefert die Parameter dieser Datenbank als DataRow
static JDataTable getMetaDataTable()
          Liefert die DataTable mit den Feldnamen dieser Klasse.
 int getMinIdle()
           
 java.lang.String getNowString()
          Liefert die aktuelle Uhrzeit im gewähltenFormat (HH:mm).
 int getNumberOfNamedSequences()
           
 int getNumberOfNamedStatements()
           
 int getNumberOfRequests()
           
 int getNumberOfTables()
           
 java.lang.String getOptimisticField()
          Liefert den Namen des Feldes, über das das optimistische Locking abgewickelt wird.
 java.lang.String getPassword()
           
 java.lang.String getPingStatement()
          Liefert das Statement, welches zum anpingen der Datenbank verwendet werden soll; z.B.: SELECT * FROM DUAL (Oracle); SELECT 1 AS Test (Postgres) ValidationQuery
 GenericObjectPool.Config getPoolConfig()
           
 Request getRequest(java.lang.String datasetName)
          Liefert den Request zu dem angegebenen Namen.
 java.util.Date getResetTimeStamp()
           
 electric.xml.Elements getSequences()
           
 java.lang.String getSetSequence()
           
 Database.NamedStatement getStatement(java.lang.String name)
           
 java.text.SimpleDateFormat getTimeFormat()
           
 java.text.SimpleDateFormat getTimestampFormat()
           
 java.lang.String getTodayNowString()
           
 java.lang.String getTodayString()
          Liefert das heutige Datum im gewählten Format (dd.MM.yyyy).
 java.util.Collection<TransactionInfo> getTransactionInfos()
           
 int getTransactionIsolationLevel()
           
 java.lang.String getUpdateJournalDirectory()
           
 java.lang.String getUpdateUserField()
          Liefert den Namen des Feldes, in das der Benutzername beim Update eingetragen werden soll.
 java.lang.String getUsername()
           
 boolean hasDefaultGetOidStatement()
           
 boolean hasDefaultSetOidStatement()
           
 boolean isAutocommit()
           
 boolean isBooleanToInt()
          Deprecated.  
 boolean isDebug()
           
 boolean isJMX()
           
 void reset(de.pkjs.pl.DatabaseConnection dbConnection)
          Der Cache mit den Datenbankabfragen wird gelöscht.
 void setDebug(boolean state)
           
 void setTransactionIsolationLevel(int level)
          Ändert den TransactionIsolationLevel Wirft eine IllegalArgumentEx, wenn ungültiger Level
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

UNKNOWN

public static final int UNKNOWN
See Also:
Constant Field Values

JDBC_ODBC

public static final int JDBC_ODBC
See Also:
Constant Field Values

MYSQL

public static final int MYSQL
See Also:
Constant Field Values

FIREBIRD

public static final int FIREBIRD
See Also:
Constant Field Values

SQL_SERVER

public static final int SQL_SERVER
See Also:
Constant Field Values

MCKOI

public static final int MCKOI
See Also:
Constant Field Values

MAX_DB

public static final int MAX_DB
See Also:
Constant Field Values

SYBASE

public static final int SYBASE
See Also:
Constant Field Values

ORACLE

public static final int ORACLE
See Also:
Constant Field Values

CACHE

public static final int CACHE
See Also:
Constant Field Values

DB2

public static final int DB2
See Also:
Constant Field Values

AXION

public static final int AXION
See Also:
Constant Field Values

HSQLDB

public static final int HSQLDB
See Also:
Constant Field Values

POSTGRES

public static final int POSTGRES
See Also:
Constant Field Values

databaseTypes

public static final java.util.LinkedHashMap<java.lang.String,java.lang.Integer> databaseTypes
Method Detail

getTransactionInfos

public java.util.Collection<TransactionInfo> getTransactionInfos()

createRequest

public Request createRequest(java.lang.String datasetname)
Erzeugt einen leeren Request mit dem angegebenen Dataset-Namen.

Dieser Name muß je PL eindeutig sein.

Parameters:
datasetname -
Returns:

getRequest

public Request getRequest(java.lang.String datasetName)
Liefert den Request zu dem angegebenen Namen.

Wirft eine IllegalArgumentException, wenn kein Request unter diesem Namen.

Parameters:
datasetName -
Returns:

getStatement

public Database.NamedStatement getStatement(java.lang.String name)

getBatchStatement

public de.pkjs.pl.Database.BatchStatement getBatchStatement(java.lang.String name)

getDatabaseConfig

public electric.xml.Document getDatabaseConfig()
Liefert die Zugriffsdefinitionen aus DatabaseConfig.xml

Returns:

reset

public void reset(de.pkjs.pl.DatabaseConnection dbConnection)
           throws PLException
Der Cache mit den Datenbankabfragen wird gelöscht.

Throws:
PLException

getDatasetNames

public java.util.ArrayList<java.lang.String> getDatasetNames()
Liefert eine Liste mit den Namen der definierten Datenbank-Zugriffe.

Returns:

setTransactionIsolationLevel

public void setTransactionIsolationLevel(int level)
Ändert den TransactionIsolationLevel Wirft eine IllegalArgumentEx, wenn ungültiger Level

See Also:
Connection

getElement

public electric.xml.Element getElement()

getDataTables

public java.util.Iterator<JDataTable> getDataTables()
Liefert einen Iterator über alle Tabellen und Views der Datenbank.

Returns:
See Also:
de.pkjs.dataset.JDataTable

getDataTableNames

public java.util.ArrayList<java.lang.String> getDataTableNames()
Liefert eine ArrayList von Strings mit allen Tabellennamen.

Returns:

getDataTable

public JDataTable getDataTable(java.lang.String name)
Liefert die Tabellendefinition mit dem angegebenen Tabellennamen.

Diese Daten werden per JDBC aus den MetaDaten der Datenbank ermittelt.

Parameters:
name - Der Name der gewünschten Tabelle
Returns:
Exception, wenn Tabelle fehlt

getEncoding

public java.lang.String getEncoding()
Specified by:
getEncoding in interface DatabaseMBean

getDatabaseMetaDataDoc

public electric.xml.Document getDatabaseMetaDataDoc()
Liefert die Metadaten zu dieser Datenbank als XML-Document.

Returns:

isDebug

public boolean isDebug()
Specified by:
isDebug in interface DatabaseMBean

isJMX

public boolean isJMX()

getDatasetDefinitionFileName

public java.lang.String getDatasetDefinitionFileName()

isBooleanToInt

public boolean isBooleanToInt()
Deprecated. 

Returns:

getDatabaseName

public java.lang.String getDatabaseName()
Liefert den Namen dieser Datenbank.

Specified by:
getDatabaseName in interface DatabaseMBean
Returns:

getOptimisticField

public java.lang.String getOptimisticField()
Liefert den Namen des Feldes, über das das optimistische Locking abgewickelt wird.

Wenn eine Tabelle keine Column dieses Namens enthält, dann findet kein optimistisches Locking mit dieser Tabelle statt.

Specified by:
getOptimisticField in interface DatabaseMBean
Returns:

getCreateUserField

public java.lang.String getCreateUserField()
Liefert den Namen des Feldes, in das der Benutzername beim Insert eingetragen werden soll.

Specified by:
getCreateUserField in interface DatabaseMBean
Returns:

getUpdateUserField

public java.lang.String getUpdateUserField()
Liefert den Namen des Feldes, in das der Benutzername beim Update eingetragen werden soll.

Specified by:
getUpdateUserField in interface DatabaseMBean
Returns:

getDatabaseType

public int getDatabaseType()
Specified by:
getDatabaseType in interface DatabaseMBean

getMetaDataTable

public static JDataTable getMetaDataTable()
Liefert die DataTable mit den Feldnamen dieser Klasse.

Returns:

getMetaDataRow

public JDataRow getMetaDataRow()
Liefert die Parameter dieser Datenbank als DataRow

Returns:

getDatabaseURL

public java.lang.String getDatabaseURL()
Liefert die URL über die der JDBC-Trieber auf die Datenbank zugreift.

Beispiel: "jdbc:sapdb://myServerName/myDatabaseName"

Specified by:
getDatabaseURL in interface DatabaseMBean
Returns:

getJDBCDriver

public java.lang.String getJDBCDriver()
Liefert die Klassennamen des JDBC-Treibers.

Beispiel: "com.sap.dbtech.jdbc.DriverSapDB"

Specified by:
getJDBCDriver in interface DatabaseMBean
Returns:

getLayerName

public java.lang.String getLayerName()
Specified by:
getLayerName in interface DatabaseMBean
Returns:
Returns the layerName.

getDataSource

public java.lang.String getDataSource()
Specified by:
getDataSource in interface DatabaseMBean
Returns:
Returns the dataSource.

getPassword

public java.lang.String getPassword()
Returns:
Returns the password.

getTransactionIsolationLevel

public int getTransactionIsolationLevel()
Specified by:
getTransactionIsolationLevel in interface DatabaseMBean
Returns:
Returns the transactionLevel.

getPingStatement

public java.lang.String getPingStatement()
Liefert das Statement, welches zum anpingen der Datenbank verwendet werden soll; z.B.: SELECT * FROM DUAL (Oracle); SELECT 1 AS Test (Postgres) ValidationQuery

Returns:

getInitializationScript

public java.lang.String getInitializationScript()
Liefert die bei der Initialisierung des Pools anfangs ausgeführten Statements


getUsername

public java.lang.String getUsername()

isAutocommit

public boolean isAutocommit()
Specified by:
isAutocommit in interface DatabaseMBean

getPoolConfig

public GenericObjectPool.Config getPoolConfig()

getMaxActive

public int getMaxActive()
Specified by:
getMaxActive in interface DatabaseMBean

getMinIdle

public int getMinIdle()
Specified by:
getMinIdle in interface DatabaseMBean

getMaxIdle

public int getMaxIdle()

getConnectionTimeOut

public long getConnectionTimeOut()

getGetSequence

public java.lang.String getGetSequence()
Specified by:
getGetSequence in interface DatabaseMBean

getSetSequence

public java.lang.String getSetSequence()
Specified by:
getSetSequence in interface DatabaseMBean

getSequences

public electric.xml.Elements getSequences()

getDatasetElementName

public java.lang.String getDatasetElementName()
Element-Name für Root-Element des Ergebnis-Dokuments. Aus PLConfig.xml (Dataset/ElementName).

Returns:

getDateFormat

public java.text.SimpleDateFormat getDateFormat()

getTimeFormat

public java.text.SimpleDateFormat getTimeFormat()

getTimestampFormat

public java.text.SimpleDateFormat getTimestampFormat()

getTodayString

public java.lang.String getTodayString()
Liefert das heutige Datum im gewählten Format (dd.MM.yyyy).

Specified by:
getTodayString in interface DatabaseMBean
See Also:
getDateFormat()

getNowString

public java.lang.String getNowString()
Liefert die aktuelle Uhrzeit im gewähltenFormat (HH:mm).

Specified by:
getNowString in interface DatabaseMBean
See Also:
getTimeFormat()

getTodayNowString

public java.lang.String getTodayNowString()
Specified by:
getTodayNowString in interface DatabaseMBean

setDebug

public void setDebug(boolean state)
Specified by:
setDebug in interface DatabaseMBean

getDecimalFormat

public java.text.DecimalFormat getDecimalFormat()

hasDefaultGetOidStatement

public boolean hasDefaultGetOidStatement()
Specified by:
hasDefaultGetOidStatement in interface DatabaseMBean

hasDefaultSetOidStatement

public boolean hasDefaultSetOidStatement()
Specified by:
hasDefaultSetOidStatement in interface DatabaseMBean

getNumberOfNamedSequences

public int getNumberOfNamedSequences()
Specified by:
getNumberOfNamedSequences in interface DatabaseMBean

getNumberOfNamedStatements

public int getNumberOfNamedStatements()
Specified by:
getNumberOfNamedStatements in interface DatabaseMBean

getNumberOfRequests

public int getNumberOfRequests()
Specified by:
getNumberOfRequests in interface DatabaseMBean

getNumberOfTables

public int getNumberOfTables()
Specified by:
getNumberOfTables in interface DatabaseMBean

getCreatedTimeStamp

public java.util.Date getCreatedTimeStamp()
Specified by:
getCreatedTimeStamp in interface DatabaseMBean

getResetTimeStamp

public java.util.Date getResetTimeStamp()
Specified by:
getResetTimeStamp in interface DatabaseMBean

getUpdateJournalDirectory

public java.lang.String getUpdateJournalDirectory()
Specified by:
getUpdateJournalDirectory in interface DatabaseMBean