org.springframework.transaction.interceptor

## Class TransactionAttributeSourceAdvisor

- java.lang.Object
- - org.springframework.aop.support.AbstractPointcutAdvisor
  - - org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor

- All Implemented Interfaces:
    Serializable, Advisor, PointcutAdvisor, Ordered

      public class TransactionAttributeSourceAdvisor
      extends AbstractPointcutAdvisor

  Advisor driven by a `TransactionAttributeSource`, used to include a `TransactionInterceptor` only for methods that are transactional.

  Because the AOP framework caches advice calculations, this is normally faster than just letting the TransactionInterceptor run and find out itself that it has no work to do.

  Author:
    Rod Johnson, Juergen Hoeller
  See Also:
    `setTransactionInterceptor(org.springframework.transaction.interceptor.TransactionInterceptor)`, `TransactionProxyFactoryBean`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from interface org.springframework.core.Ordered

      `HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TransactionAttributeSourceAdvisor()` Create a new TransactionAttributeSourceAdvisor.
    `TransactionAttributeSourceAdvisor(TransactionInterceptor interceptor)` Create a new TransactionAttributeSourceAdvisor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Advice` | `getAdvice()` Return the advice part of this aspect.
    `Pointcut` | `getPointcut()` Get the Pointcut that drives this advisor.
    `void` | `setClassFilter(ClassFilter classFilter)` Set the `ClassFilter` to use for this pointcut.
    `void` | `setTransactionInterceptor(TransactionInterceptor interceptor)` Set the transaction interceptor to use for this advisor.

    - ### Methods inherited from class org.springframework.aop.support.AbstractPointcutAdvisor

      `equals, getOrder, hashCode, isPerInstance, setOrder`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TransactionAttributeSourceAdvisor

          public TransactionAttributeSourceAdvisor()

      Create a new TransactionAttributeSourceAdvisor.

    - #### TransactionAttributeSourceAdvisor

          public TransactionAttributeSourceAdvisor(TransactionInterceptor interceptor)

      Create a new TransactionAttributeSourceAdvisor.
      Parameters:
        `interceptor` - the transaction interceptor to use for this advisor

  - ### Method Detail

    - #### setTransactionInterceptor

          public void setTransactionInterceptor(TransactionInterceptor interceptor)

      Set the transaction interceptor to use for this advisor.

    - #### setClassFilter

          public void setClassFilter(ClassFilter classFilter)

      Set the `ClassFilter` to use for this pointcut. Default is `ClassFilter.TRUE`.

    - #### getAdvice

          public Advice getAdvice()

      Description copied from interface: `Advisor`
      Return the advice part of this aspect. An advice may be an interceptor, a before advice, a throws advice, etc.
      Returns:
        the advice that should apply if the pointcut matches
      See Also:
        `MethodInterceptor`, `BeforeAdvice`, `ThrowsAdvice`, `AfterReturningAdvice`

    - #### getPointcut

          public Pointcut getPointcut()

      Description copied from interface: `PointcutAdvisor`
      Get the Pointcut that drives this advisor.