Class DeclareParentsAdvisor

java.lang.Object
org.springframework.aop.aspectj.DeclareParentsAdvisor
All Implemented Interfaces:
Advisor, IntroductionAdvisor, IntroductionInfo

public class DeclareParentsAdvisor extends Object implements IntroductionAdvisor
Introduction advisor delegating to the given object. Implements AspectJ annotation-style behavior for the DeclareParents annotation.
Since:
2.0
Author:
Rod Johnson, Ramnivas Laddad
  • Field Summary

    Fields inherited from interface org.springframework.aop.Advisor

    EMPTY_ADVICE
  • Constructor Summary

    Constructors
    Constructor
    Description
    DeclareParentsAdvisor(Class<?> interfaceType, String typePattern, Class<?> defaultImpl)
    Create a new advisor for this DeclareParents field.
    DeclareParentsAdvisor(Class<?> interfaceType, String typePattern, Object delegateRef)
    Create a new advisor for this DeclareParents field.
  • Method Summary

    Modifier and Type
    Method
    Description
    Return the advice part of this aspect.
    Return the filter determining which target classes this introduction should apply to.
    Class<?>[]
    Return the additional interfaces introduced by this Advisor or Advice.
    boolean
    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
    Can the advised interfaces be implemented by the introduction advice? Invoked before adding an IntroductionAdvisor.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DeclareParentsAdvisor

      public DeclareParentsAdvisor(Class<?> interfaceType, String typePattern, Class<?> defaultImpl)
      Create a new advisor for this DeclareParents field.
      Parameters:
      interfaceType - static field defining the introduction
      typePattern - type pattern the introduction is restricted to
      defaultImpl - the default implementation class
    • DeclareParentsAdvisor

      public DeclareParentsAdvisor(Class<?> interfaceType, String typePattern, Object delegateRef)
      Create a new advisor for this DeclareParents field.
      Parameters:
      interfaceType - static field defining the introduction
      typePattern - type pattern the introduction is restricted to
      delegateRef - the delegate implementation object
  • Method Details

    • 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
    • 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
    • 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:
    • 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