stomp.jdo
Interface PMWrapper

All Superinterfaces:
javax.jdo.PersistenceManager, WrappedObject
All Known Implementing Classes:
KodoPMWrapper

public interface PMWrapper
extends javax.jdo.PersistenceManager, WrappedObject

wraps the JDO implementation provided by a third party, but removes some transactional options from consideration. This is because we are going to manage transactions and cache synchronization transparently, and we don't want the developer getting in there and screwing it up.

Author:
Eric Lindauer

Method Summary
 java.lang.Object getLock()
          returns the object that should be used to synchronized on this PM.
 java.util.Collection getManagedObjects()
          returns a Collection of the persistent objcets which have been changed, or added in this transaction.
 boolean isNonTransactional()
          returns true if the PM allows writes outside of a transaction, false otherwise.
 boolean isTransactional()
          returns true if setTransactional () was called on this PMWrapper, false otherwise.
 void reallyBegin()
          used by transparent transaction management to indicate that the underlying transaction should be started.
 javax.jdo.Transaction reallyCurrentTransaction()
          used by transparent transaction management to obtain a handle to the underlying JDO transaction.
 void setNonTransactional()
          indicates that this PM should return true for 'isNonTransactional'
 void setShouldClose()
          indicates that this PMWrapper should respond to 'close' method calls by actually closing the underlying PM.
 void setTransactional()
          indicates that this PM should consider itself "transactional" and should start a transaction immediately.
 
Methods inherited from interface javax.jdo.PersistenceManager
close, currentTransaction, deletePersistent, deletePersistentAll, deletePersistentAll, evict, evictAll, evictAll, evictAll, getExtent, getIgnoreCache, getMultithreaded, getObjectById, getObjectId, getObjectIdClass, getPersistenceManagerFactory, getTransactionalObjectId, getUserObject, isClosed, makeNontransactional, makeNontransactionalAll, makeNontransactionalAll, makePersistent, makePersistentAll, makePersistentAll, makeTransactional, makeTransactionalAll, makeTransactionalAll, makeTransient, makeTransientAll, makeTransientAll, newObjectIdInstance, newQuery, newQuery, newQuery, newQuery, newQuery, newQuery, newQuery, newQuery, newQuery, refresh, refreshAll, refreshAll, refreshAll, retrieve, retrieveAll, retrieveAll, setIgnoreCache, setMultithreaded, setUserObject
 
Methods inherited from interface stomp.wrapper.WrappedObject
getWrapper, setWrapper
 

Method Detail

isNonTransactional

public boolean isNonTransactional()
returns true if the PM allows writes outside of a transaction, false otherwise.


setNonTransactional

public void setNonTransactional()
indicates that this PM should return true for 'isNonTransactional'


isTransactional

public boolean isTransactional()
returns true if setTransactional () was called on this PMWrapper, false otherwise.


setTransactional

public void setTransactional()
indicates that this PM should consider itself "transactional" and should start a transaction immediately.


setShouldClose

public void setShouldClose()
indicates that this PMWrapper should respond to 'close' method calls by actually closing the underlying PM.


reallyBegin

public void reallyBegin()
used by transparent transaction management to indicate that the underlying transaction should be started.


reallyCurrentTransaction

public javax.jdo.Transaction reallyCurrentTransaction()
used by transparent transaction management to obtain a handle to the underlying JDO transaction.


getManagedObjects

public java.util.Collection getManagedObjects()
returns a Collection of the persistent objcets which have been changed, or added in this transaction.


getLock

public java.lang.Object getLock()
returns the object that should be used to synchronized on this PM.