## org.springframework.transaction.interceptor
Class NameMatchTransactionAttributeSource

    java.lang.Object
      org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource

All Implemented Interfaces:
  Serializable, TransactionAttributeSource

    public class NameMatchTransactionAttributeSource

extends Object
implements TransactionAttributeSource, Serializable

Simple `TransactionAttributeSource` implementation 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 Log` `logger` Logger available to subclasses.

Constructor Summary
`NameMatchTransactionAttributeSource()`

Method Summary
`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()`
`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()`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### logger

    protected static final Log logger

  Logger available to subclasses.

  Static for optimal serialization.

Constructor Detail

### NameMatchTransactionAttributeSource

    public NameMatchTransactionAttributeSource()

Method Detail

### setNameMap

    public void setNameMap(Map<String,TransactionAttribute> 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<java.lang.String, org.springframework.transaction.interceptor.TransactionAttribute>)`, `TransactionAttributeEditor`

### addTransactionalMethod

    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

### 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 the matching transaction attribute, or `null` if none found

### isMatch

    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
  See Also:
    `PatternMatchUtils.simpleMatch(String, String)`

### equals

    public boolean equals(Object other)

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`