org.springframework.transaction.interceptor
Class NameMatchTransactionAttributeSource

java.lang.Object
  extended by org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource
All Implemented Interfaces:
Serializable, TransactionAttributeSource

public class NameMatchTransactionAttributeSource
extends Object
implements TransactionAttributeSource, Serializable

Simple implementation of TransactionAttributeSource that allows attributes to be matched by registered name.

Since:
21.08.2003
Author:
Juergen Hoeller
See Also:
isMatch(java.lang.String, java.lang.String), MethodMapTransactionAttributeSource, Serialized Form

Field Summary
protected static org.apache.commons.logging.Log logger
          Static for optimal serialization
 
Constructor Summary
NameMatchTransactionAttributeSource()
           
 
Method Summary
 void addTransactionalMethod(String methodName, TransactionAttribute attr)
          Add an attribute for a transactional method.
 TransactionAttribute getTransactionAttribute(Method method, Class targetClass)
          Return the transaction attribute for this method.
protected  boolean isMatch(String methodName, String mappedName)
          Return if the given method name matches the mapped name.
 void setNameMap(Map nameMap)
          Set a name/attribute map, consisting of method names (e.g.
 void setProperties(Properties transactionAttributes)
          Parses the given properties into a name/attribute map.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected static final org.apache.commons.logging.Log logger
Static for optimal serialization

Constructor Detail

NameMatchTransactionAttributeSource

public NameMatchTransactionAttributeSource()
Method Detail

setNameMap

public void setNameMap(Map nameMap)
Set a name/attribute map, consisting of method names (e.g. "myMethod") and TransactionAttribute instances (or Strings to be converted to TransactionAttribute instances).

See Also:
TransactionAttribute, TransactionAttributeEditor

setProperties

public void setProperties(Properties transactionAttributes)
Parses the given properties into a name/attribute map. Expects method names as keys and String attributes definitions as values, parsable into TransactionAttribute instances via TransactionAttributeEditor.

See Also:
setNameMap(java.util.Map), TransactionAttributeEditor

addTransactionalMethod

public void addTransactionalMethod(String methodName,
                                   TransactionAttribute attr)
Add an attribute for a transactional method. Method names can end with "*" for matching multiple methods.

Parameters:
methodName - the name of the method
attr - attribute associated with the method

getTransactionAttribute

public TransactionAttribute getTransactionAttribute(Method method,
                                                    Class targetClass)
Description copied from interface: TransactionAttributeSource
Return the transaction attribute for this method. Return null if the method is non-transactional.

Specified by:
getTransactionAttribute in interface TransactionAttributeSource
Parameters:
method - method
targetClass - target class. May be null, in which case the declaring class of the method must be used.
Returns:
TransactionAttribute transaction attribute or null.

isMatch

protected boolean isMatch(String methodName,
                          String mappedName)
Return if the given method name matches the mapped name. The default implementation checks for "xxx*" and "*xxx" matches. Can be overridden in subclasses.

Parameters:
methodName - the method name of the class
mappedName - the name in the descriptor
Returns:
if the names match


Copyright (c) 2002-2006 The Spring Framework Project.