Class DefaultIntroductionAdvisor

java.lang.Object
org.springframework.aop.support.DefaultIntroductionAdvisor
All Implemented Interfaces:
Serializable, Advisor, ClassFilter, IntroductionAdvisor, IntroductionInfo, Ordered

public class DefaultIntroductionAdvisor extends Object implements IntroductionAdvisor, ClassFilter, Ordered, Serializable
Simple IntroductionAdvisor implementation that by default applies to any class.
Since:
11.11.2003
Author:
Rod Johnson, Juergen Hoeller
See Also:
  • Constructor Details

    • DefaultIntroductionAdvisor

      public DefaultIntroductionAdvisor(Advice advice)
      Create a DefaultIntroductionAdvisor for the given advice.
      Parameters:
      advice - the Advice to apply (may implement the IntroductionInfo interface)
      See Also:
    • DefaultIntroductionAdvisor

      public DefaultIntroductionAdvisor(Advice advice, @Nullable IntroductionInfo introductionInfo)
      Create a DefaultIntroductionAdvisor for the given advice.
      Parameters:
      advice - the Advice to apply
      introductionInfo - the IntroductionInfo that describes the interface to introduce (may be null)
    • DefaultIntroductionAdvisor

      public DefaultIntroductionAdvisor(DynamicIntroductionAdvice advice, Class<?> ifc)
      Create a DefaultIntroductionAdvisor for the given advice.
      Parameters:
      advice - the Advice to apply
      ifc - the interface to introduce
  • Method Details

    • addInterface

      public void addInterface(Class<?> ifc)
      Add the specified interface to the list of interfaces to introduce.
      Parameters:
      ifc - the interface to introduce
    • getInterfaces

      public Class<?>[] getInterfaces()
      Description copied from interface: IntroductionInfo
      Return the additional interfaces introduced by this Advisor or Advice.
      Specified by:
      getInterfaces in interface IntroductionInfo
      Returns:
      the introduced interfaces
    • validateInterfaces

      public void validateInterfaces() throws IllegalArgumentException
      Description copied from interface: IntroductionAdvisor
      Can the advised interfaces be implemented by the introduction advice? Invoked before adding an IntroductionAdvisor.
      Specified by:
      validateInterfaces in interface IntroductionAdvisor
      Throws:
      IllegalArgumentException - if the advised interfaces can't be implemented by the introduction advice
    • setOrder

      public void setOrder(int order)
    • getOrder

      public int getOrder()
      Description copied from interface: Ordered
      Get the order value of this object.

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

      Same order values will result in arbitrary sort positions for the affected objects.

      Specified by:
      getOrder in interface Ordered
      Returns:
      the order value
      See Also:
    • 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:
    • getClassFilter

      public ClassFilter getClassFilter()
      Description copied from interface: IntroductionAdvisor
      Return the filter determining which target classes this introduction should apply to.

      This represents the class part of a pointcut. Note that method matching doesn't make sense to introductions.

      Specified by:
      getClassFilter in interface IntroductionAdvisor
      Returns:
      the class filter
    • matches

      public boolean matches(Class<?> clazz)
      Description copied from interface: ClassFilter
      Should the pointcut apply to the given interface or target class?
      Specified by:
      matches in interface ClassFilter
      Parameters:
      clazz - the candidate target class
      Returns:
      whether the advice should apply to the given target class
    • equals

      public boolean equals(@Nullable 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