public interface IPLContext
| Modifier and Type | Method and Description |
|---|---|
Request |
addRequest(JDataRow metaDataRow)
Erzeugt einen Request aus Metadaten
|
void |
clearCache(java.lang.String datasetname)
Der angegebene Cache wird geleert
|
boolean |
commitTransaction(java.lang.String transName)
Beendet die Transaktion mit dem angegebenen Namen, die zuvor mit
startTransaktion gestartet wurde.
|
int |
executeBatchStatement(java.lang.String name)
Führt ein Batch-Statement aus.
|
int |
executeBatchStatement(java.lang.String name,
ParameterList list)
Führt ein Batch-Statement aus.
|
int |
executeSql(java.lang.String sqlCommand)
Führt ein beliebiges SQL-Command aus (Update, Insert, Delete).
|
int |
executeSql(java.lang.String sqlCommand,
ParameterList parameters)
Führt ein beliebiges SQL-Command aus (Update, Insert, Delete).
|
int |
executeSqlPara(java.lang.String sqlCommand,
java.util.Vector<java.lang.Object> parameter)
Führt ein beliebiges SQL-Statement aus, wobei die Parameter für dieses
Statement in einem Vector übergeben werden.
|
int |
executeStatement(java.lang.String name)
Führt ein benanntes Statement (UPDATE, INSERT, DELETE) aus.
|
int |
executeStatement(java.lang.String name,
ParameterList parameters)
Führt ein benanntes Statement (UPDATE, INSERT, DELETE) aus.
|
JDataSet |
getAll(java.lang.String datasetname)
Liefert einen Dataset ohne Angabe eines Schlüssels; also vor allem eine
Menge von Datensätzen - bis zum Inhalt einer kompletten Tabelle.
|
long |
getConnectionTimeOut() |
Database |
getCurrentDatabase()
Liefert die Datenbank
|
java.lang.String |
getCurrentDatabaseName()
Liefert den Namen der verwendeten Datenbank.
|
java.lang.String |
getDatabaseMetaData()
Liefert die MetaDaten der CurrentDatabase.
|
electric.xml.Document |
getDatabaseMetaDataDoc() |
DataRowIterator |
getDataRowIterator(java.lang.String datasetName,
java.lang.String tablename,
java.lang.String sql,
ParameterList list)
Während 'normalerweise' ein DataSet vom Persistenz-Layer immer fertig
aufbereitet und komplett mit allen Daten übergeben wird, ist dieses
Vorgehen bei großen Datenmengen nicht angebracht, nicht nur, daß das zu
lange dauert, sondern weil auch ein OutOfMemory droht.
|
DataRowIterator |
getDataRowIteratorStatement(java.lang.String statementName,
ParameterList list) |
JDataSet |
getDataset(java.lang.String datasetname,
long oid)
Liefert einen Dataset mit dem angegebenen Namen und dem angegebenen
Primärschlüssel der Wurzeltabelle.
|
JDataSet |
getDataset(java.lang.String datasetname,
long[] oids)
Liefert einen Dataset mit den angegebenen Primärschlüsseln.
|
JDataSet |
getDataset(java.lang.String datasetname,
ParameterList parameters)
Liefert einen Dataset mit dem angegebenen Namen sowie unter Angabe eine
Liste von Parametern.
|
JDataSet |
getDataset(java.lang.String datasetname,
java.lang.String key)
Liefert einen Dataset mit dem angegebenen Namen und dem angegebenen
Primärschlüssel der Wurzeltabelle.
|
java.util.ArrayList<java.lang.String> |
getDatasetNames()
Liefert die Menge der definierten Datenbank-Zugriffe.
|
JDataSet |
getDatasetSql(java.lang.String datasetname,
java.lang.String sql)
Liefert einen flachen Dataset auf Basis eines beliebigen SQL-Statements.
|
JDataSet |
getDatasetSql(java.lang.String datasetname,
java.lang.String sql,
int limit) |
JDataSet |
getDatasetSql(java.lang.String datasetname,
java.lang.String sql,
ParameterList list)
Liefert einen flachen Dataset auf Basis eines beliebigen SQL-Statements.
|
JDataSet |
getDatasetSql(java.lang.String tablename,
java.lang.String columns,
java.lang.String from)
Liefert einen flachen Dataset auf Basis eines beliebigen SQL-Statements.
|
JDataSet |
getDatasetStatement(Database.NamedStatement nst,
ParameterList list)
Liefert einen DataSet unter Angabe eines benannten Statements.
|
JDataSet |
getDatasetStatement(java.lang.String name)
Liefert einen DataSet unter Angabe des Namens eines benannten Statements.
|
JDataSet |
getDatasetStatement(java.lang.String name,
ParameterList list)
Liefert einen DataSet unter Angabe des Namens eines benannten Statements.
|
java.lang.String |
getDatasetString(java.lang.String datasetname,
long oid) |
java.text.SimpleDateFormat |
getDateFormat()
Liefert das DateFormat aus PLConfig.xml
|
JDataSet |
getEmptyDataset(java.lang.String datasetname)
Liefert einen Dataset ohne Werte aber mit den Metadaten.
|
int |
getMaxActive() |
int |
getMaxIdle() |
JDataSet |
getMetaDataSet() |
int |
getMinIdle() |
Database.NamedStatement |
getNamedStatement(java.lang.String name)
Liefert ein benanntes Statement aus PLConfix.xml
|
java.lang.String |
getNowString() |
int |
getNumActive() |
int |
getNumIdle() |
long |
getOID()
Liefert einen neuen eindeutigen Schlüssel für den Client.
|
long |
getOID(java.lang.String sequenceName)
Liefert einen neuen eindeutigen Key aus der angegebenen Sequence.
|
java.lang.String |
getPLMetaData()
Liefert alle Informationen zum Persistenz-Layer als XML-Document.
|
electric.xml.Document |
getPLMetaDataDoc() |
Request |
getRequest(java.lang.String datasetName)
Liefert einen Request zu dem angegebenen Namen.
|
java.text.SimpleDateFormat |
getTimeFormat() |
java.text.SimpleDateFormat |
getTimestampFormat() |
java.lang.String |
getTodayNowString() |
java.lang.String |
getTodayString()
Liefert das heutige Datum im aus PLConfig.xml.
|
java.util.Collection<TransactionInfo> |
getTransactionInfos() |
java.lang.String |
getTransactionName() |
int |
importJournal(java.util.List<electric.xml.Document> transaction) |
boolean |
isDebug()
Liefert den Debug-Modus
|
java.lang.String |
pingDatabase()
Führt das "Ping"-Statement der Datenbank aus,
wie in PLConfig unter
|
void |
reset()
Setzt den Persistenzlayer zurück.
|
boolean |
rollbackTransaction(java.lang.String transName)
Rollback der zuvor gestarteten Transaktion.
|
int |
setDataset(JDataSet dataset)
Der vom Client geänderter Dataset wird in die Datenbank
zurückgeschrieben.
|
int |
setDataset(java.lang.String dataset) |
void |
setDatasetAsync(JDataSet dataset) |
void |
setDebug(boolean b)
Setzt den Debug-Modus des Persistenzlayers.
|
void |
shutdown()
Deprecated.
|
IPLContext |
startNewTransaction(java.lang.String transName) |
void |
startTransaction(java.lang.String transName)
Startet eine Transaktion mit dem angegebenen Namen.
|
boolean |
testCommit()
Überpüft, ob eine Transaktion mit commitTransaktion(name) beendet werden
kann.
|
Database getCurrentDatabase()
java.lang.String getCurrentDatabaseName()
JDataSet getDataset(java.lang.String datasetname, long oid) throws PLException
datasetname - oid - PLExceptionJDataSet getDataset(java.lang.String datasetname, long[] oids) throws PLException
datasetname - oids - PLExceptionJDataSet getDataset(java.lang.String datasetname, java.lang.String key) throws PLException
datasetname - key - PLExceptionjava.lang.String getDatasetString(java.lang.String datasetname,
long oid)
throws PLException
PLExceptionJDataSet getDataset(java.lang.String datasetname, ParameterList parameters) throws PLException
datasetname - parameters - PLExceptionint setDataset(JDataSet dataset) throws PLException
values - Ein DatasetPLExceptionvoid setDatasetAsync(JDataSet dataset) throws PLException
PLExceptionint setDataset(java.lang.String dataset)
throws PLException
PLExceptionvoid clearCache(java.lang.String datasetname)
throws PLException
JDataSet - PLExceptionJDataSet getAll(java.lang.String datasetname) throws PLException
datasetname - PLExceptionJDataSet getDatasetSql(java.lang.String tablename, java.lang.String columns, java.lang.String from) throws PLException
tablename - Tabelle zu den Columnscolumns - Spaltennamen mit Komma getrenntfrom - beliebige BedingungPLExceptionJDataSet getDatasetSql(java.lang.String datasetname, java.lang.String sql) throws PLException
Achtung!
Bei Sybase müssen die angebenen Column-Namen eindeutig sein!
datasetname - ( =
TableName)sql - "SELECT a,b FROM c,d WHERE ... ORDER BY ...PLExceptionJDataSet getDatasetSql(java.lang.String datasetname, java.lang.String sql, int limit) throws PLException
datasetname - sql - limit - Maximale Größe des ResultSet vordefinierenPLExceptionJDataSet getDatasetSql(java.lang.String datasetname, java.lang.String sql, ParameterList list) throws PLException
Achtung!
Bei Sybase müssen die angebenen Column-Namen eindeutig sein!
datasetname - ( =
TableName)sql - list - PLExceptionDatabase.NamedStatement getNamedStatement(java.lang.String name)
name - JDataSet getDatasetStatement(Database.NamedStatement nst, ParameterList list) throws PLException
Hinweis:
Das NameStatement kann auch aus einem abweichenden PL stammen
nst - list - PLExceptionJDataSet getDatasetStatement(java.lang.String name) throws PLException
name - PLExceptionJDataSet getDatasetStatement(java.lang.String name, ParameterList list) throws PLException
name - list - Argumentliste für dieses StatementPLExceptionDataRowIterator getDataRowIteratorStatement(java.lang.String statementName, ParameterList list) throws PLException
statementName - Der Name eines benannten Statementslist - ParameterList oder null, wenn ohne ParameterPLException#getDataRowIterator(String, String, ParameterList)DataRowIterator getDataRowIterator(java.lang.String datasetName, java.lang.String tablename, java.lang.String sql, ParameterList list) throws PLException
Der RowIterator schafft dort Abhilfe.
Es wird ein DataRowIterator geliefert unter Angabe von:
datasetName - Namens des DataSet für den RowIteratortablename - Name der RootTable des Datasetsql - SELECT-Statementlist - ParameterListe (darf auch null sein)PLExceptionJDataSet getEmptyDataset(java.lang.String datasetname)
datasetname - Der gewünschte DatasetPLExceptionlong getOID()
throws PLException
PLExceptionlong getOID(java.lang.String sequenceName)
throws PLException
sequenceName - PLExceptionint executeSql(java.lang.String sqlCommand)
throws PLException
sqlCommand - PLExceptiongetDatasetSql(java.lang.String, java.lang.String, java.lang.String)int executeSql(java.lang.String sqlCommand,
ParameterList parameters)
throws PLException
sqlCommand - SQL-Befehlparameters - Parameter für PreparedStatementPLExceptiongetDatasetSql(java.lang.String, java.lang.String, java.lang.String)int executeSqlPara(java.lang.String sqlCommand,
java.util.Vector<java.lang.Object> parameter)
throws PLException
Beispiel:
String sql = "INSERT INTO MyTable (DateCreated) VALUES (?)";
Vector v = new Vector();
v.add(new Date());
int cnt = pl.executeSqlPara(sql, v);
sqlCommand - parameter - PLExceptionint executeStatement(java.lang.String name)
throws PLException
name - Statement-NamePLExceptionint executeStatement(java.lang.String name,
ParameterList parameters)
throws PLException
name - name Statement-Nameparameters - Paramter für das StatementPLExceptionint executeBatchStatement(java.lang.String name)
throws PLException
Batch-Statements sind eine Menge von NamedStatements, die nacheinander als Batch ausgeführt werden.
name - PLExceptionint executeBatchStatement(java.lang.String name,
ParameterList list)
throws PLException
Batch-Statements sind eine Menge von NamedStatements, die nacheinander als Batch ausgeführt werden.
name - list - Eine Liste von Parametern für die Menge aller Parameter, die
für die verschiedenen Statements insgesamt benötigt werden.PLExceptionvoid shutdown()
throws PLException
PLExceptionRequest getRequest(java.lang.String datasetName)
datasetName - java.lang.String getDatabaseMetaData()
electric.xml.Document getDatabaseMetaDataDoc()
JDataSet getMetaDataSet()
electric.xml.Document getPLMetaDataDoc()
java.lang.String getPLMetaData()
Request addRequest(JDataRow metaDataRow) throws PLException
metadataRow - PLExceptionRequest.getMetaDataRow()java.util.ArrayList<java.lang.String> getDatasetNames()
java.lang.String pingDatabase()
throws PLException
PLExceptionjava.text.SimpleDateFormat getDateFormat()
java.text.SimpleDateFormat getTimeFormat()
java.text.SimpleDateFormat getTimestampFormat()
java.lang.String getTodayString()
Achtung!
Da der PersistenzLayer üblicherweise auf einem Server läuft, kann ein
Client auf diese Art aktuelle Angaben über Datum und Uhrzeit des Servers
ermitteln. Dieses ist in der Regel besser als die lokale Zeit des Client
zu verwenden.
java.lang.String getNowString()
java.lang.String getTodayNowString()
void setDebug(boolean b)
b - boolean isDebug()
void reset()
throws PLException
Es wird der Cache der PreparedStatements gelöscht.
PLExceptionvoid startTransaction(java.lang.String transName)
throws PLException
transName - PLExceptionboolean commitTransaction(java.lang.String transName)
throws PLException
Bei Angabe eines falschen Transaktionsnamens wird eine Exception
geworfen.
Bei geschachtelten Transaktion wird dann eine Exception geworfen, wenn
zuvor ein Rollback ausgeführt wurde.
transName - PLExceptionboolean testCommit()
throws PLException
PLExceptionboolean rollbackTransaction(java.lang.String transName)
throws PLException
transName - PLExceptionIPLContext startNewTransaction(java.lang.String transName) throws PLException
PLExceptionint importJournal(java.util.List<electric.xml.Document> transaction)
throws PLException
PLExceptionint getNumActive()
int getNumIdle()
int getMaxActive()
int getMaxIdle()
int getMinIdle()
long getConnectionTimeOut()
java.lang.String getTransactionName()
startNewTransaction(String)java.util.Collection<TransactionInfo> getTransactionInfos()