de.grogra.persistence
Class PersistenceManager

java.lang.Object
  extended by de.grogra.util.LockableImpl
      extended by de.grogra.persistence.PersistenceManager
All Implemented Interfaces:
Lockable
Direct Known Subclasses:
GraphManager

public abstract class PersistenceManager
extends LockableImpl


Nested Class Summary
 
Nested classes/interfaces inherited from interface de.grogra.util.Lockable
Lockable.DeadLockException
 
Field Summary
protected  java.lang.Object makeLock
           
 
Constructor Summary
PersistenceManager(PersistenceConnection cx, java.lang.String key, boolean checkLock)
           
 
Method Summary
 void addXAListener(XAListener l)
           
abstract  int allocateBitMark(boolean resetOnDispose)
           
abstract  int allocateObjectMark(boolean resetOnDispose)
           
protected  void beginTransaction(Transaction t)
           
 void close()
           
protected  void completeTransaction(Transaction t, boolean commit)
           
protected abstract  Transaction createTransaction(java.lang.Thread thread)
           
protected abstract  TransactionApplier createXAApplier()
           
abstract  void disposeBitMark(int handle, boolean resetAll)
           
abstract  void disposeObjectMark(int handle, boolean resetAll)
           
 Transaction getActiveTransaction()
           
 PersistenceBindings getBindings()
           
 PersistenceConnection getConnection()
           
 short getId()
           
 LogStore getLocalLog()
           
abstract  PersistenceCapable getObject(long id)
           
 int getStamp()
           
 Transaction getTransaction(boolean create)
           
 Transaction.Data getTransactionData(Transaction.Key key)
           
 void getTransactions(java.util.List<? super Transaction> list)
           
protected  void idUsed(long id)
           
 void initNonlocalTransactionNotifier(java.lang.Runnable notifier)
           
 void localTransactionCommitted(Transaction.Key key, long stamp)
           
 void localTransactionRolledBack(Transaction.Key key, long stamp)
           
 void makePersistent(java.lang.Object o, Transaction t)
           
 void makePersistent(PersistenceCapable o, long id, Transaction t)
           
protected abstract  void makePersistentImpl(PersistenceCapable o, long id, Transaction t)
           
 void makeTransient(PersistenceCapable o, Transaction t)
           
protected abstract  void makeTransientImpl(PersistenceCapable o, Transaction t)
           
protected  long nextId()
           
protected  void prepareCompletion(Transaction t, boolean commit)
           
abstract  long prepareId(PersistenceCapable pc)
           
abstract  void readExtent(PersistenceInputStream in)
           
 void removeXAListener(XAListener l)
           
protected  void transactionApplied(Transaction.Data xa, boolean rollback, Transaction t)
           
 void transactionCommitted(Transaction.Data xa, long stamp)
           
abstract  void writeExtent(PersistenceOutputStream out)
           
 
Methods inherited from class de.grogra.util.LockableImpl
enterWriteLock, execute, execute, executeForcedly, executeForcedly, executeInAllowedThread, getMaxWaitingTime, getQueueLength, invokeRun, isAllowedThread, isLocked, leaveWriteLock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

makeLock

protected final java.lang.Object makeLock
Constructor Detail

PersistenceManager

public PersistenceManager(PersistenceConnection cx,
                          java.lang.String key,
                          boolean checkLock)
Method Detail

addXAListener

public final void addXAListener(XAListener l)

allocateBitMark

public abstract int allocateBitMark(boolean resetOnDispose)

allocateObjectMark

public abstract int allocateObjectMark(boolean resetOnDispose)

beginTransaction

protected void beginTransaction(Transaction t)

close

public void close()

completeTransaction

protected void completeTransaction(Transaction t,
                                   boolean commit)

createTransaction

protected abstract Transaction createTransaction(java.lang.Thread thread)

createXAApplier

protected abstract TransactionApplier createXAApplier()

disposeBitMark

public abstract void disposeBitMark(int handle,
                                    boolean resetAll)

disposeObjectMark

public abstract void disposeObjectMark(int handle,
                                       boolean resetAll)

getActiveTransaction

public final Transaction getActiveTransaction()

getBindings

public final PersistenceBindings getBindings()

getConnection

public final PersistenceConnection getConnection()

getId

public final short getId()

getLocalLog

public final LogStore getLocalLog()

getObject

public abstract PersistenceCapable getObject(long id)

getStamp

public int getStamp()

getTransaction

public final Transaction getTransaction(boolean create)

getTransactionData

public final Transaction.Data getTransactionData(Transaction.Key key)

getTransactions

public final void getTransactions(java.util.List<? super Transaction> list)

idUsed

protected final void idUsed(long id)

initNonlocalTransactionNotifier

public void initNonlocalTransactionNotifier(java.lang.Runnable notifier)

localTransactionCommitted

public final void localTransactionCommitted(Transaction.Key key,
                                            long stamp)

localTransactionRolledBack

public final void localTransactionRolledBack(Transaction.Key key,
                                             long stamp)

makePersistent

public final void makePersistent(java.lang.Object o,
                                 Transaction t)

makePersistent

public final void makePersistent(PersistenceCapable o,
                                 long id,
                                 Transaction t)

makePersistentImpl

protected abstract void makePersistentImpl(PersistenceCapable o,
                                           long id,
                                           Transaction t)

makeTransient

public final void makeTransient(PersistenceCapable o,
                                Transaction t)

makeTransientImpl

protected abstract void makeTransientImpl(PersistenceCapable o,
                                          Transaction t)

nextId

protected final long nextId()

prepareCompletion

protected void prepareCompletion(Transaction t,
                                 boolean commit)

prepareId

public abstract long prepareId(PersistenceCapable pc)

readExtent

public abstract void readExtent(PersistenceInputStream in)
                         throws java.io.IOException
Throws:
java.io.IOException

removeXAListener

public final void removeXAListener(XAListener l)

transactionApplied

protected void transactionApplied(Transaction.Data xa,
                                  boolean rollback,
                                  Transaction t)

transactionCommitted

public final void transactionCommitted(Transaction.Data xa,
                                       long stamp)

writeExtent

public abstract void writeExtent(PersistenceOutputStream out)
                          throws java.io.IOException
Throws:
java.io.IOException