public class NameMatchTransactionAttributeSource extends java.lang.Object implements TransactionAttributeSource, java.io.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(java.lang.String methodName,
TransactionAttribute attr)
Add an attribute for a transactional method.
|
boolean |
equals(java.lang.Object other) |
TransactionAttribute |
getTransactionAttribute(java.lang.reflect.Method method,
java.lang.Class<?> targetClass)
Return the transaction attribute for the given method,
or
null if the method is non-transactional. |
int |
hashCode() |
protected boolean |
isMatch(java.lang.String methodName,
java.lang.String mappedName)
Return if the given method name matches the mapped name.
|
void |
setNameMap(java.util.Map<java.lang.String,TransactionAttribute> nameMap)
Set a name/attribute map, consisting of method names
(e.g.
|
void |
setProperties(java.util.Properties transactionAttributes)
Parses the given properties into a name/attribute map.
|
java.lang.String |
toString() |
protected static final Log logger
Static for optimal serialization.
public void setNameMap(java.util.Map<java.lang.String,TransactionAttribute> nameMap)
TransactionAttribute
,
TransactionAttributeEditor
public void setProperties(java.util.Properties transactionAttributes)
public void addTransactionalMethod(java.lang.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(java.lang.reflect.Method method, java.lang.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(java.lang.String methodName, java.lang.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)
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object