org.springframework.transaction.support
Class DefaultTransactionDefinition

java.lang.Object
  extended byorg.springframework.transaction.support.DefaultTransactionDefinition
All Implemented Interfaces:
TransactionDefinition
Direct Known Subclasses:
DefaultTransactionAttribute, TransactionTemplate

public class DefaultTransactionDefinition
extends java.lang.Object
implements TransactionDefinition

Default implementation of the TransactionDefinition interface, offering bean-style configuration and sensible default values (PROPAGATION_REQUIRED, ISOLATION_DEFAULT, TIMEOUT_DEFAULT, readOnly=false).

Base class for both TransactionTemplate and DefaultTransactionAttribute.

Since:
08.05.2003
Author:
Juergen Hoeller
See Also:
TransactionTemplate, DefaultTransactionAttribute

Field Summary
static java.lang.String READ_ONLY_MARKER
          Marker for read-only transactions in description strings
static java.lang.String TIMEOUT_PREFIX
          Prefix for transaction timeout values in description strings
 
Fields inherited from interface org.springframework.transaction.TransactionDefinition
ISOLATION_CONSTANT_PREFIX, ISOLATION_DEFAULT, ISOLATION_READ_COMMITTED, ISOLATION_READ_UNCOMMITTED, ISOLATION_REPEATABLE_READ, ISOLATION_SERIALIZABLE, PROPAGATION_CONSTANT_PREFIX, PROPAGATION_MANDATORY, PROPAGATION_NEVER, PROPAGATION_NOT_SUPPORTED, PROPAGATION_REQUIRED, PROPAGATION_REQUIRES_NEW, PROPAGATION_SUPPORTS, TIMEOUT_DEFAULT
 
Constructor Summary
DefaultTransactionDefinition()
           
DefaultTransactionDefinition(int propagationBehavior)
           
 
Method Summary
 boolean equals(java.lang.Object other)
          This implementation of equals compares the toString results.
protected  java.lang.StringBuffer getDefinitionDescription()
          Return an identifying description of this transaction definition.
 int getIsolationLevel()
          Return the isolation level.
 int getPropagationBehavior()
          Return the propagation behavior.
 int getTimeout()
          Return the transaction timeout.
 int hashCode()
          This implementation of hashCode returns toString's hash code.
 boolean isReadOnly()
          Return whether to optimize as read-only transaction.
 void setIsolationLevel(int isolationLevel)
           
 void setIsolationLevelName(java.lang.String constantName)
          Set the isolation level by the name of the corresponding constant in TransactionDefinition, e.g.
 void setPropagationBehavior(int propagationBehavior)
           
 void setPropagationBehaviorName(java.lang.String constantName)
          Set the propagation behavior by the name of the corresponding constant in TransactionDefinition, e.g.
 void setReadOnly(boolean readOnly)
           
 void setTimeout(int timeout)
           
 java.lang.String toString()
          Return an identifying description of this transaction definition.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TIMEOUT_PREFIX

public static final java.lang.String TIMEOUT_PREFIX
Prefix for transaction timeout values in description strings

See Also:
Constant Field Values

READ_ONLY_MARKER

public static final java.lang.String READ_ONLY_MARKER
Marker for read-only transactions in description strings

See Also:
Constant Field Values
Constructor Detail

DefaultTransactionDefinition

public DefaultTransactionDefinition()

DefaultTransactionDefinition

public DefaultTransactionDefinition(int propagationBehavior)
Method Detail

setPropagationBehaviorName

public final void setPropagationBehaviorName(java.lang.String constantName)
                                      throws java.lang.IllegalArgumentException
Set the propagation behavior by the name of the corresponding constant in TransactionDefinition, e.g. "PROPAGATION_REQUIRED".

Parameters:
constantName - name of the constant
Throws:
java.lang.IllegalArgumentException - if an invalid constant was specified
See Also:
TransactionDefinition.PROPAGATION_REQUIRED

setPropagationBehavior

public final void setPropagationBehavior(int propagationBehavior)

getPropagationBehavior

public final int getPropagationBehavior()
Description copied from interface: TransactionDefinition
Return the propagation behavior. Must return one of the PROPAGATION constants.

Specified by:
getPropagationBehavior in interface TransactionDefinition
See Also:
TransactionDefinition.PROPAGATION_REQUIRED

setIsolationLevelName

public final void setIsolationLevelName(java.lang.String constantName)
                                 throws java.lang.IllegalArgumentException
Set the isolation level by the name of the corresponding constant in TransactionDefinition, e.g. "ISOLATION_DEFAULT".

Parameters:
constantName - name of the constant
Throws:
java.lang.IllegalArgumentException - if an invalid constant was specified
See Also:
TransactionDefinition.ISOLATION_DEFAULT

setIsolationLevel

public final void setIsolationLevel(int isolationLevel)

getIsolationLevel

public final int getIsolationLevel()
Description copied from interface: TransactionDefinition
Return the isolation level. Must return one of the ISOLATION constants.

Only makes sense in combination with PROPAGATION_REQUIRED or PROPAGATION_REQUIRES_NEW.

Note that a transaction manager that does not support custom isolation levels will throw an exception when given any other level than ISOLATION_DEFAULT.

Specified by:
getIsolationLevel in interface TransactionDefinition
See Also:
TransactionDefinition.ISOLATION_DEFAULT

setTimeout

public final void setTimeout(int timeout)

getTimeout

public final int getTimeout()
Description copied from interface: TransactionDefinition
Return the transaction timeout. Must return a number of seconds, or TIMEOUT_DEFAULT.

Only makes sense in combination with PROPAGATION_REQUIRED or PROPAGATION_REQUIRES_NEW.

Note that a transaction manager that does not support timeouts will throw an exception when given any other timeout than TIMEOUT_DEFAULT.

Specified by:
getTimeout in interface TransactionDefinition
See Also:
TransactionDefinition.TIMEOUT_DEFAULT

setReadOnly

public final void setReadOnly(boolean readOnly)

isReadOnly

public final boolean isReadOnly()
Description copied from interface: TransactionDefinition
Return whether to optimize as read-only transaction. This just serves as hint for the actual transaction subsystem, it will not necessarily cause failure of write accesses.

Only makes sense in combination with PROPAGATION_REQUIRED or PROPAGATION_REQUIRES_NEW.

A transaction manager that cannot interpret the read-only hint will not throw an exception when given readOnly=true.

Specified by:
isReadOnly in interface TransactionDefinition

equals

public boolean equals(java.lang.Object other)
This implementation of equals compares the toString results.

See Also:
toString()

hashCode

public int hashCode()
This implementation of hashCode returns toString's hash code.

See Also:
toString()

toString

public java.lang.String toString()
Return an identifying description of this transaction definition. The format matches the one used by TransactionAttributeEditor, to be able to feed toString results into TransactionAttribute properties.

Has to be overridden in subclasses for correct equals and hashCode behavior. Alternatively, equals and hashCode can be overridden themselves.

See Also:
TransactionAttributeEditor

getDefinitionDescription

protected final java.lang.StringBuffer getDefinitionDescription()
Return an identifying description of this transaction definition. Available for subclasses.



Copyright (C) 2003-2004 The Spring Framework Project.