public class

NameMatchTransactionAttributeSource

extends Object
implements Serializable TransactionAttributeSource
java.lang.Object
   ↳ org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource

Class Overview

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

Summary

Fields
protected static final Log logger Logger available to subclasses.
Public Constructors
NameMatchTransactionAttributeSource()
Public Methods
void addTransactionalMethod(String methodName, TransactionAttribute attr)
Add an attribute for a transactional method.
boolean equals(Object other)
TransactionAttribute getTransactionAttribute(Method method, Class<?> targetClass)
Return the transaction attribute for this method.
int hashCode()
void setNameMap(Map<StringTransactionAttribute> 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.
String toString()
Protected Methods
boolean isMatch(String methodName, String mappedName)
Return if the given method name matches the mapped name.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.transaction.interceptor.TransactionAttributeSource

Fields

protected static final Log logger

Logger available to subclasses.

Static for optimal serialization.

Public Constructors

public NameMatchTransactionAttributeSource ()

Public Methods

public void addTransactionalMethod (String methodName, TransactionAttribute attr)

Add an attribute for a transactional method.

Method names can be exact matches, or of the pattern "xxx*", "*xxx" or "*xxx*" for matching multiple methods.

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

public boolean equals (Object other)

public TransactionAttribute getTransactionAttribute (Method method, Class<?> targetClass)

Return the transaction attribute for this method. Return null if the method is non-transactional.

Parameters
method method
targetClass target class. May be null, in which case the declaring class of the method must be used.
Returns
  • TransactionAttribute the matching transaction attribute, or null if none found

public int hashCode ()

public void setNameMap (Map<StringTransactionAttribute> nameMap)

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

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.

public String toString ()

Protected Methods

protected boolean isMatch (String methodName, String mappedName)

Return if the given method name matches the mapped name.

The default implementation checks for "xxx*", "*xxx" and "*xxx*" matches, as well as direct equality. Can be overridden in subclasses.

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