com.pecasim.base.database
Class HibernateDatabaseManager

java.lang.Object
  extended by com.pecasim.base.database.HibernateDatabaseManager
All Implemented Interfaces:
Database, DatabaseManager

public class HibernateDatabaseManager
extends java.lang.Object
implements DatabaseManager

Author:
cbu

Method Summary
 void close()
           
 void commit()
           
 void delete(java.lang.Object aObject)
           
 int executeUpdate(java.lang.String queryStr, java.lang.Object... parameterList)
          Führt eine HQL-Query auf der Datenbank aus und liefert die Anzahl an aktualisierten Datensätzen.
<T> java.util.List<T>
get(java.lang.Class<? extends T> aClass, int aBegin, int aLength)
          Liefert eine Liste von Subjekte der übergebenen Klasse.
<T> T
get(java.lang.Class<? extends T> aObject, long aId)
          Liefert ein Subjekt der übergebenen Klasse mit der angegebenen ID
<T> java.util.List<T>
get(java.lang.Class<? extends T> aClass, java.lang.String aCriteria)
          Liefert eine Liste von Subjekten der übergebenen Klasse.
 java.lang.String getConfigFile()
           
 java.sql.Connection getConnection()
           
<T> T
getEventClass(java.lang.Class<? extends T> aClass, java.lang.String aSimEventClass)
           
 int getNrOfElements(java.lang.Class aClass)
           
 void initialise()
          Initialisiert die Datenbankverbindung
 boolean isInitialised()
          Prüft ob der Manager schon initialisiert wurde
 java.util.List<?> loadCluster(java.lang.Class aClass, int clusterSize, java.util.Date finishTime)
           
 boolean makeSnapshot()
          Macht einen Snapshot der Domain-Tabellen in der Datenbank.
 boolean performFunction(java.lang.String aFunction)
          Führt die übergebene Funktion auf der Datenbank aus.
 java.lang.Object popNextEvent(java.lang.Class aClass)
           
 void processSchemaUpdate()
          Führt ein Datenbankupdate auf dem Schema durch
 void rollback()
           
 void store(java.lang.Object aObject)
          Speicher ein Objekt in einer Transaktion der Datenbank
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

initialise

public void initialise()
                throws DatabaseException
Description copied from interface: DatabaseManager
Initialisiert die Datenbankverbindung

Specified by:
initialise in interface DatabaseManager
Throws:
DatabaseException

processSchemaUpdate

public void processSchemaUpdate()
Description copied from interface: DatabaseManager
Führt ein Datenbankupdate auf dem Schema durch

Specified by:
processSchemaUpdate in interface DatabaseManager

store

public void store(java.lang.Object aObject)
Description copied from interface: Database
Speicher ein Objekt in einer Transaktion der Datenbank

Specified by:
store in interface Database

delete

public void delete(java.lang.Object aObject)
Specified by:
delete in interface DatabaseManager

commit

public void commit()
Specified by:
commit in interface DatabaseManager

getConnection

public java.sql.Connection getConnection()
Specified by:
getConnection in interface DatabaseManager

rollback

public void rollback()
Specified by:
rollback in interface DatabaseManager

get

public <T> java.util.List<T> get(java.lang.Class<? extends T> aClass,
                                 java.lang.String aCriteria)
Description copied from interface: Database
Liefert eine Liste von Subjekten der übergebenen Klasse. Das Einschränkende-Kriterium wird als String in Psydo-SQL formuliert (Hibernate-Syntax).

Specified by:
get in interface Database
Returns:
List of aClass-Objects: -> null

get

public <T> java.util.List<T> get(java.lang.Class<? extends T> aClass,
                                 int aBegin,
                                 int aLength)
Description copied from interface: Database
Liefert eine Liste von Subjekte der übergebenen Klasse. Hierbei werden alle Objekte selektiert und ein Paging auf dieser Liste ausgeführt.

Specified by:
get in interface Database
aLength - >= 0 & >= aBegin
Returns:
List of aClass-Objects: -> null

popNextEvent

public java.lang.Object popNextEvent(java.lang.Class aClass)
Specified by:
popNextEvent in interface DatabaseManager

getNrOfElements

public int getNrOfElements(java.lang.Class aClass)
Specified by:
getNrOfElements in interface DatabaseManager

loadCluster

public java.util.List<?> loadCluster(java.lang.Class aClass,
                                     int clusterSize,
                                     java.util.Date finishTime)
Specified by:
loadCluster in interface DatabaseManager

getEventClass

public <T> T getEventClass(java.lang.Class<? extends T> aClass,
                           java.lang.String aSimEventClass)
Specified by:
getEventClass in interface DatabaseManager

get

public <T> T get(java.lang.Class<? extends T> aObject,
                 long aId)
Description copied from interface: Database
Liefert ein Subjekt der übergebenen Klasse mit der angegebenen ID

Specified by:
get in interface Database
Returns:
aClass-Object: -> null

isInitialised

public boolean isInitialised()
Description copied from interface: DatabaseManager
Prüft ob der Manager schon initialisiert wurde

Specified by:
isInitialised in interface DatabaseManager
Returns:
boolean

getConfigFile

public java.lang.String getConfigFile()
Specified by:
getConfigFile in interface DatabaseManager

close

public void close()
Specified by:
close in interface DatabaseManager

performFunction

public boolean performFunction(java.lang.String aFunction)
Description copied from interface: Database
Führt die übergebene Funktion auf der Datenbank aus.

Specified by:
performFunction in interface Database
Returns:
boolean (ob die Funktion ausgeführt werden konnte)

makeSnapshot

public boolean makeSnapshot()
Description copied from interface: Database
Macht einen Snapshot der Domain-Tabellen in der Datenbank. Dies wird von der DB-Funktion makeSnapshot() durchgeführt.

Specified by:
makeSnapshot in interface Database
Returns:
boolean (erfolgreich durchgeführt)

executeUpdate

public int executeUpdate(java.lang.String queryStr,
                         java.lang.Object... parameterList)
Description copied from interface: Database
Führt eine HQL-Query auf der Datenbank aus und liefert die Anzahl an aktualisierten Datensätzen. Zusätzlich können Parameter angegeben, die mit den '?' in der Query ersetzt werden. z.B executeUpdate("update Person p set p.age=?", 12);

Specified by:
executeUpdate in interface Database
Returns:
int