Class NameMatchTransactionAttributeSource
java.lang.Object
org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource
- All Implemented Interfaces:
 Serializable,Aware,InitializingBean,EmbeddedValueResolverAware,TransactionAttributeSource
public class NameMatchTransactionAttributeSource
extends Object
implements TransactionAttributeSource, EmbeddedValueResolverAware, InitializingBean, Serializable
Simple 
TransactionAttributeSource implementation that
 allows attributes to be matched by registered name.- Since:
 - 21.08.2003
 - Author:
 - Juergen Hoeller
 - See Also:
 
- 
Field Summary
Fields - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidaddTransactionalMethod(String methodName, TransactionAttribute attr) Add an attribute for a transactional method.voidInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.booleangetTransactionAttribute(Method method, Class<?> targetClass) Return the transaction attribute for the given method, ornullif the method is non-transactional.inthashCode()protected booleanDetermine if the given method name matches the mapped name.voidsetEmbeddedValueResolver(StringValueResolver resolver) Set the StringValueResolver to use for resolving embedded definition values.voidsetNameMap(Map<String, TransactionAttribute> nameMap) Set a name/attribute map, consisting of method names (for example, "myMethod") andTransactionAttributeinstances.voidsetProperties(Properties transactionAttributes) Parse the given properties into a name/attribute map.toString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.transaction.interceptor.TransactionAttributeSource
hasTransactionAttribute, isCandidateClass 
- 
Field Details
- 
logger
Logger available to subclasses.Static for optimal serialization.
 
 - 
 - 
Constructor Details
- 
NameMatchTransactionAttributeSource
public NameMatchTransactionAttributeSource() 
 - 
 - 
Method Details
- 
setNameMap
Set a name/attribute map, consisting of method names (for example, "myMethod") andTransactionAttributeinstances. - 
setProperties
Parse the given properties into a name/attribute map.Expects method names as keys and String attributes definitions as values, parsable into
TransactionAttributeinstances via aTransactionAttributeEditor. - 
addTransactionalMethod
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 methodattr- attribute associated with the method
 - 
setEmbeddedValueResolver
Description copied from interface:EmbeddedValueResolverAwareSet the StringValueResolver to use for resolving embedded definition values.- Specified by:
 setEmbeddedValueResolverin interfaceEmbeddedValueResolverAware
 - 
afterPropertiesSet
public void afterPropertiesSet()Description copied from interface:InitializingBeanInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.
- Specified by:
 afterPropertiesSetin interfaceInitializingBean
 - 
getTransactionAttribute
@Nullable public TransactionAttribute getTransactionAttribute(Method method, @Nullable Class<?> targetClass) Description copied from interface:TransactionAttributeSourceReturn the transaction attribute for the given method, ornullif the method is non-transactional.- Specified by:
 getTransactionAttributein interfaceTransactionAttributeSource- Parameters:
 method- the method to introspecttargetClass- the target class (can benull, in which case the declaring class of the method must be used)- Returns:
 - the matching transaction attribute, or 
nullif none found 
 - 
isMatch
Determine 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 classmappedName- the name in the descriptor- Returns:
 trueif the names match- See Also:
 
 - 
equals
 - 
hashCode
public int hashCode() - 
toString
 
 -