Package org.springframework.aop.support
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:
-
Field Summary
Fields inherited from interface org.springframework.aop.Advisor
EMPTY_ADVICE
Fields inherited from interface org.springframework.aop.ClassFilter
TRUE
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorDescriptionDefaultIntroductionAdvisor
(Advice advice) Create a DefaultIntroductionAdvisor for the given advice.DefaultIntroductionAdvisor
(Advice advice, IntroductionInfo introductionInfo) Create a DefaultIntroductionAdvisor for the given advice.DefaultIntroductionAdvisor
(DynamicIntroductionAdvice advice, Class<?> ifc) Create a DefaultIntroductionAdvisor for the given advice. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addInterface
(Class<?> ifc) Add the specified interface to the list of interfaces to introduce.boolean
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.int
getOrder()
Get the order value of this object.int
hashCode()
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.boolean
Should the pointcut apply to the given interface or target class?void
setOrder
(int order) toString()
void
Can the advised interfaces be implemented by the introduction advice? Invoked before adding an IntroductionAdvisor.
-
Constructor Details
-
DefaultIntroductionAdvisor
Create a DefaultIntroductionAdvisor for the given advice.- Parameters:
advice
- the Advice to apply (may implement theIntroductionInfo
interface)- See Also:
-
DefaultIntroductionAdvisor
Create a DefaultIntroductionAdvisor for the given advice.- Parameters:
advice
- the Advice to applyintroductionInfo
- the IntroductionInfo that describes the interface to introduce (may benull
)
-
DefaultIntroductionAdvisor
Create a DefaultIntroductionAdvisor for the given advice.- Parameters:
advice
- the Advice to applyifc
- the interface to introduce
-
-
Method Details
-
addInterface
Add the specified interface to the list of interfaces to introduce.- Parameters:
ifc
- the interface to introduce
-
getInterfaces
Description copied from interface:IntroductionInfo
Return the additional interfaces introduced by this Advisor or Advice.- Specified by:
getInterfaces
in interfaceIntroductionInfo
- Returns:
- the introduced interfaces
-
validateInterfaces
Description copied from interface:IntroductionAdvisor
Can the advised interfaces be implemented by the introduction advice? Invoked before adding an IntroductionAdvisor.- Specified by:
validateInterfaces
in interfaceIntroductionAdvisor
- 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.
-
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. -
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 interfaceAdvisor
- Returns:
- whether this advice is associated with a particular target instance
-
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 interfaceIntroductionAdvisor
- Returns:
- the class filter
-
matches
Description copied from interface:ClassFilter
Should the pointcut apply to the given interface or target class?- Specified by:
matches
in interfaceClassFilter
- Parameters:
clazz
- the candidate target class- Returns:
- whether the advice should apply to the given target class
-
equals
-
hashCode
public int hashCode() -
toString
-