org.springframework.aop.support

Class DefaultIntroductionAdvisor

  • java.lang.Object
    • org.springframework.aop.support.DefaultIntroductionAdvisor
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      void addInterface(java.lang.Class<?> intf)
      Add the specified interface to the list of interfaces to introduce.
      boolean equals(java.lang.Object other) 
      Advice getAdvice()
      Return the advice part of this aspect.
      ClassFilter getClassFilter()
      Return the filter determining which target classes this introduction should apply to.
      java.lang.Class<?>[] getInterfaces()
      Return the additional interfaces introduced by this Advisor or Advice.
      int getOrder()
      Get the order value of this object.
      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.
      boolean matches(java.lang.Class<?> clazz)
      Should the pointcut apply to the given interface or target class?
      void setOrder(int order) 
      java.lang.String toString() 
      void validateInterfaces()
      Can the advised interfaces be implemented by the introduction advice? Invoked before adding an IntroductionAdvisor.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • 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,
                                          java.lang.Class<?> intf)
        Create a DefaultIntroductionAdvisor for the given advice.
        Parameters:
        advice - the Advice to apply
        intf - the interface to introduce
    • Method Detail

      • addInterface

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

        public java.lang.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 java.lang.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:
        java.lang.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:
        Ordered.HIGHEST_PRECEDENCE, Ordered.LOWEST_PRECEDENCE
      • 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
      • 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(java.lang.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(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