org.springframework.aop.aspectj

## Class AspectJPointcutAdvisor

- java.lang.Object
- - org.springframework.aop.aspectj.AspectJPointcutAdvisor

- All Implemented Interfaces:
    Advisor, PointcutAdvisor, Ordered

      public class AspectJPointcutAdvisor
      extends Object
      implements PointcutAdvisor, Ordered

  AspectJPointcutAdvisor that adapts an `AbstractAspectJAdvice` to the `PointcutAdvisor` interface.
  Since:
    2.0
  Author:
    Adrian Colyer, Juergen Hoeller

- - ### Field Summary

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

      `HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AspectJPointcutAdvisor(AbstractAspectJAdvice advice)` Create a new AspectJPointcutAdvisor for the given advice

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object other)`
    `Advice` | `getAdvice()` Return the advice part of this aspect.
    `int` | `getOrder()` Return the order value of this object, with a higher value meaning greater in terms of sorting.
    `Pointcut` | `getPointcut()` Get the Pointcut that drives this advisor.
    `int` | `hashCode()`
    `boolean` | `isPerInstance()` Return whether this advice is associated with a particular instance (for example, creating a mixin) or shared with all instances of the advised class obtained from the same Spring bean factory.
    `void` | `setOrder(int order)`

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

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

- - ### Constructor Detail

    - #### AspectJPointcutAdvisor

          public AspectJPointcutAdvisor(AbstractAspectJAdvice advice)

      Create a new AspectJPointcutAdvisor for the given advice
      Parameters:
        `advice` - the AbstractAspectJAdvice to wrap

  - ### Method Detail

    - #### setOrder

          public void setOrder(int order)

    - #### isPerInstance

          public boolean isPerInstance()

      Description copied from interface: `Advisor`
      Return whether this advice is associated with a particular instance (for example, creating a mixin) or shared with all instances of the advised class obtained from the same Spring bean factory.

      Note that this method is not currently used by the framework. Typical Advisor implementations always return `true`. Use singleton/prototype bean definitions or appropriate programmatic proxy creation to ensure that Advisors have the correct lifecycle model.

      Specified by:
        `isPerInstance` in interface `Advisor`
      Returns:
        whether this advice is associated with a particular target instance

    - #### 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.
      Specified by:
        `getAdvice` in interface `Advisor`
      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.
      Specified by:
        `getPointcut` in interface `PointcutAdvisor`

    - #### getOrder

          public int getOrder()

      Description copied from interface: `Ordered`
      Return the order value of this object, with a higher value meaning greater in terms of sorting.

      Normally starting with 0, with `Integer.MAX_VALUE` indicating the greatest value. Same order values will result in arbitrary positions for the affected objects.

      Higher values can be interpreted as lower priority. As a consequence, the object with the lowest value has highest priority (somewhat analogous to Servlet "load-on-startup" values).

      Specified by:
        `getOrder` in interface `Ordered`
      Returns:
        the order value

    - #### equals

          public boolean equals(Object other)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`