org.springframework.transaction.interceptor

Class NameMatchTransactionAttributeSource

  • java.lang.Object
    • org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      protected static Log logger
      Logger available to subclasses.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      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() 
      • 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

      • addTransactionalMethod

        public void addTransactionalMethod(java.lang.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

        @Nullable
        public TransactionAttribute getTransactionAttribute(java.lang.reflect.Method method,
                                                                      @Nullable
                                                                      java.lang.Class<?> targetClass)
        Description copied from interface: TransactionAttributeSource
        Return the transaction attribute for the given method, or null if the method is non-transactional.
        Specified by:
        getTransactionAttribute in interface TransactionAttributeSource
        Parameters:
        method - the method to introspect
        targetClass - the target class (may be null, in which case the declaring class of the method must be used)
        Returns:
        the TransactionAttribute the matching transaction attribute, or null if none found
      • isMatch

        protected boolean isMatch(java.lang.String methodName,
                                  java.lang.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(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object