.. java:import:: java.util HashMap .. java:import:: org.caosdb.server.database.access Access .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLDeleteEntityProperties .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLDeletePassword .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLDeleteRole .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLDeleteSparseEntity .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLDeleteUser .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLGetAllNames .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLGetDependentEntities .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLGetFileRecordByPath .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLGetIDByName .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLGetInfo .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLGetUpdateableChecksums .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLInsertEntityDatatype .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLInsertEntityProperties .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLInsertLinCon .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLInsertParents .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLInsertRole .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLInsertSparseEntity .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLInsertTransactionHistory .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLIsSubType .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLListRoles .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLListUsers .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLLogUserVisit .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrieveAll .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrieveAllUncheckedFiles .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrieveCurrentMaxId .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrieveDatatypes .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrieveEntityACL .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrieveParents .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrievePasswordValidator .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrievePermissionRules .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrieveProperties .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrieveQueryTemplateDefinition .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrieveRole .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrieveSparseEntity .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrieveUser .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLRetrieveVersionHistory .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLSetFileCheckedTimestampImpl .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLSetFileChecksum .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLSetPassword .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLSetPermissionRules .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLSetQueryTemplateDefinition .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLSyncStats .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLUpdateSparseEntity .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLUpdateUser .. java:import:: org.caosdb.server.database.backend.implementation MySQL.MySQLUpdateUserRoles .. java:import:: org.caosdb.server.database.backend.implementation UnixFileSystem.UnixFileSystemCheckHash .. java:import:: org.caosdb.server.database.backend.implementation UnixFileSystem.UnixFileSystemCheckSize .. java:import:: org.caosdb.server.database.backend.implementation UnixFileSystem.UnixFileSystemFileExists .. java:import:: org.caosdb.server.database.backend.implementation UnixFileSystem.UnixFileSystemFileWasModifiedAfter .. java:import:: org.caosdb.server.database.backend.implementation UnixFileSystem.UnixFileSystemGetFileIterator .. java:import:: org.caosdb.server.database.backend.interfaces BackendTransactionImpl .. java:import:: org.caosdb.server.database.backend.interfaces DeleteEntityPropertiesImpl .. java:import:: org.caosdb.server.database.backend.interfaces DeletePasswordImpl .. java:import:: org.caosdb.server.database.backend.interfaces DeleteRoleImpl .. java:import:: org.caosdb.server.database.backend.interfaces DeleteSparseEntityImpl .. java:import:: org.caosdb.server.database.backend.interfaces DeleteUserImpl .. java:import:: org.caosdb.server.database.backend.interfaces FileCheckHash .. java:import:: org.caosdb.server.database.backend.interfaces FileCheckSize .. java:import:: org.caosdb.server.database.backend.interfaces FileExists .. java:import:: org.caosdb.server.database.backend.interfaces FileWasModifiedAfter .. java:import:: org.caosdb.server.database.backend.interfaces GetAllNamesImpl .. java:import:: org.caosdb.server.database.backend.interfaces GetDependentEntitiesImpl .. java:import:: org.caosdb.server.database.backend.interfaces GetFileIteratorImpl .. java:import:: org.caosdb.server.database.backend.interfaces GetFileRecordByPathImpl .. java:import:: org.caosdb.server.database.backend.interfaces GetIDByNameImpl .. java:import:: org.caosdb.server.database.backend.interfaces GetInfoImpl .. java:import:: org.caosdb.server.database.backend.interfaces GetUpdateableChecksumsImpl .. java:import:: org.caosdb.server.database.backend.interfaces InsertEntityDatatypeImpl .. java:import:: org.caosdb.server.database.backend.interfaces InsertEntityPropertiesImpl .. java:import:: org.caosdb.server.database.backend.interfaces InsertLinConImpl .. java:import:: org.caosdb.server.database.backend.interfaces InsertParentsImpl .. java:import:: org.caosdb.server.database.backend.interfaces InsertRoleImpl .. java:import:: org.caosdb.server.database.backend.interfaces InsertSparseEntityImpl .. java:import:: org.caosdb.server.database.backend.interfaces InsertTransactionHistoryImpl .. java:import:: org.caosdb.server.database.backend.interfaces IsSubTypeImpl .. java:import:: org.caosdb.server.database.backend.interfaces ListRolesImpl .. java:import:: org.caosdb.server.database.backend.interfaces ListUsersImpl .. java:import:: org.caosdb.server.database.backend.interfaces LogUserVisitImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrieveAllImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrieveAllUncheckedFilesImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrieveCurrentMaxIdImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrieveDatatypesImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrieveEntityACLImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrieveParentsImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrievePasswordValidatorImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrievePermissionRulesImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrievePropertiesImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrieveQueryTemplateDefinitionImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrieveRoleImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrieveSparseEntityImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrieveUserImpl .. java:import:: org.caosdb.server.database.backend.interfaces RetrieveVersionHistoryImpl .. java:import:: org.caosdb.server.database.backend.interfaces SetFileCheckedTimestampImpl .. java:import:: org.caosdb.server.database.backend.interfaces SetFileChecksumImpl .. java:import:: org.caosdb.server.database.backend.interfaces SetPasswordImpl .. java:import:: org.caosdb.server.database.backend.interfaces SetPermissionRulesImpl .. java:import:: org.caosdb.server.database.backend.interfaces SetQueryTemplateDefinitionImpl .. java:import:: org.caosdb.server.database.backend.interfaces SyncStatsImpl .. java:import:: org.caosdb.server.database.backend.interfaces UpdateSparseEntityImpl .. java:import:: org.caosdb.server.database.backend.interfaces UpdateUserImpl .. java:import:: org.caosdb.server.database.backend.interfaces UpdateUserRolesImpl .. java:import:: org.caosdb.server.database.exceptions TransactionException .. java:import:: org.caosdb.server.database.misc TransactionBenchmark .. java:import:: org.caosdb.server.utils UndoHandler .. java:import:: org.caosdb.server.utils Undoable BackendTransaction ================== .. java:package:: org.caosdb.server.database :noindex: .. java:type:: public abstract class BackendTransaction implements Undoable Abstract class for backend transactions. This class is the glue between the Transaction layer and the actual implementation of the communication with the back end. This class also acts as a registry which stores which implementation is being used for which backend transaction interface. :author: Timm Fitschen **See also:** :java:ref:`{@linkTransaction}` Methods ------- addMeasurement ^^^^^^^^^^^^^^ .. java:method:: public void addMeasurement(Object o, long time) :outertype: BackendTransaction cleanUp ^^^^^^^ .. java:method:: @Override public final void cleanUp() :outertype: BackendTransaction execute ^^^^^^^ .. java:method:: protected abstract void execute() :outertype: BackendTransaction execute ^^^^^^^ .. java:method:: protected K execute(K t) :outertype: BackendTransaction Execute this BackendTransaction, using the implementation given as an argument. The implementation's benchmark is set to the corresponding sub-benchmark of this object's benchmark. :param t: This BackendTransaction's execute() method will be called. :return: The BackendTransaction which was passed as an argument. executeTransaction ^^^^^^^^^^^^^^^^^^ .. java:method:: public final void executeTransaction() :outertype: BackendTransaction Like execute(), but with benchmarking measurement. getImplementation ^^^^^^^^^^^^^^^^^ .. java:method:: @SuppressWarnings protected T getImplementation(Class clz) :outertype: BackendTransaction getUndoHandler ^^^^^^^^^^^^^^ .. java:method:: protected UndoHandler getUndoHandler() :outertype: BackendTransaction init ^^^^ .. java:method:: public static void init() :outertype: BackendTransaction Initialize the adapters to the database backend. Currently this is hard-coded to the MySQL-Backend but the architecture of this class is designed to make it easy in the future to choose other implementations (i.e. other back-ends) setAccess ^^^^^^^^^ .. java:method:: public void setAccess(Access access) :outertype: BackendTransaction setImpl ^^^^^^^ .. java:method:: public static void setImpl(Class k, Class l) :outertype: BackendTransaction setTransactionBenchmark ^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setTransactionBenchmark(TransactionBenchmark b) :outertype: BackendTransaction Set the benchmark object for this AbstractTransaction. toString ^^^^^^^^ .. java:method:: @Override public String toString() :outertype: BackendTransaction undo ^^^^ .. java:method:: @Override public final void undo() :outertype: BackendTransaction useCache ^^^^^^^^ .. java:method:: boolean useCache() :outertype: BackendTransaction