public class NameMatchTransactionAttributeSource extends Object implements TransactionAttributeSource, Serializable
TransactionAttributeSource
implementation that
allows attributes to be matched by registered name.isMatch(java.lang.String, java.lang.String)
,
MethodMapTransactionAttributeSource
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected static Log |
logger
Logger available to subclasses.
|
Constructor and Description |
---|
NameMatchTransactionAttributeSource() |
Modifier and Type | Method and Description |
---|---|
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 the given method,
or
null if the method is non-transactional. |
int |
hashCode() |
protected boolean |
isMatch(String methodName,
String mappedName)
Return if the given method name matches the mapped name.
|
void |
setNameMap(Map<String,TransactionAttribute> 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 static final Log logger
Static for optimal serialization.
public void setNameMap(Map<String,TransactionAttribute> nameMap)
public void setProperties(Properties transactionAttributes)
public void addTransactionalMethod(String methodName, TransactionAttribute attr)
Method names can be exact matches, or of the pattern "xxx*", "*xxx" or "*xxx*" for matching multiple methods.
methodName
- the name of the methodattr
- attribute associated with the methodpublic TransactionAttribute getTransactionAttribute(Method method, Class<?> targetClass)
TransactionAttributeSource
null
if the method is non-transactional.getTransactionAttribute
in interface TransactionAttributeSource
method
- the method to introspecttargetClass
- the target class. May be null
,
in which case the declaring class of the method must be used.null
if none foundprotected boolean isMatch(String methodName, String mappedName)
The default implementation checks for "xxx*", "*xxx" and "*xxx*" matches, as well as direct equality. Can be overridden in subclasses.
methodName
- the method name of the classmappedName
- the name in the descriptorPatternMatchUtils.simpleMatch(String, String)