Holds all status information that AbstractPlatformTransactionManager
needs internally, including a generic transaction object determined by the
concrete transaction manager implementation.

Supports delegating savepoint-related methods to a transaction object
that implements the SavepointManager interface.

NOTE: This is not intended for use with other PlatformTransactionManager
implementations, in particular not for mock transaction managers in testing environments.
Use the alternative SimpleTransactionStatus class or a mock for the plain
TransactionStatus interface instead.

hasTransaction

isNewTransaction

Return whether the present transaction is new (else participating
in an existing transaction, or potentially not running in an
actual transaction in the first place).

isNewSynchronization

public boolean isNewSynchronization()

Return if a new transaction synchronization has been opened
for this transaction.

isReadOnly

public boolean isReadOnly()

Return if this transaction is defined as read-only transaction.

isDebug

public boolean isDebug()

Return whether the progress of this transaction is debugged. This is used
by AbstractPlatformTransactionManager as an optimization, to prevent repeated
calls to logger.isDebug(). Not really intended for client code.

getSuspendedResources

public java.lang.Object getSuspendedResources()

Return the holder for resources that have been suspended for this transaction,
if any.

isGlobalRollbackOnly

public boolean isGlobalRollbackOnly()

Determine the rollback-only flag via checking both the transaction object,
provided that the latter implements the SmartTransactionObject interface.

Will return "true" if the transaction itself has been marked rollback-only
by the transaction coordinator, for example in case of a timeout.