|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.aop.support.DefaultIntroductionAdvisor
public class DefaultIntroductionAdvisor
Simple IntroductionAdvisor
implementation
that by default applies to any class.
Field Summary |
---|
Fields inherited from interface org.springframework.aop.ClassFilter |
---|
TRUE |
Fields inherited from interface org.springframework.core.Ordered |
---|
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE |
Constructor Summary | |
---|---|
DefaultIntroductionAdvisor(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 intf)
Create a DefaultIntroductionAdvisor for the given advice. |
Method Summary | |
---|---|
void |
addInterface(Class intf)
Add the specified interface to the list of interfaces to introduce. |
boolean |
equals(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. |
Class[] |
getInterfaces()
Return the additional interfaces introduced by this Advisor or Advice. |
int |
getOrder()
Return the order value of this object, with a higher value meaning greater in terms of sorting. |
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(Class clazz)
Should the pointcut apply to the given interface or target class? |
void |
setOrder(int order)
|
String |
toString()
|
void |
validateInterfaces()
Can the advised interfaces be implemented by the introduction advice? |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DefaultIntroductionAdvisor(Advice advice)
advice
- the Advice to apply (may implement the
IntroductionInfo
interface)addInterface(java.lang.Class)
public DefaultIntroductionAdvisor(Advice advice, IntroductionInfo introductionInfo)
advice
- the Advice to applyintroductionInfo
- the IntroductionInfo that describes
the interface to introduce (may be null
)public DefaultIntroductionAdvisor(DynamicIntroductionAdvice advice, Class intf)
advice
- the Advice to applyintf
- the interface to introduceMethod Detail |
---|
public void addInterface(Class intf)
intf
- the interface to introducepublic Class[] getInterfaces()
IntroductionInfo
getInterfaces
in interface IntroductionInfo
public void validateInterfaces() throws IllegalArgumentException
IntroductionAdvisor
validateInterfaces
in interface IntroductionAdvisor
IllegalArgumentException
- if the advised interfaces can't be
implemented by the introduction advicepublic void setOrder(int order)
public int getOrder()
Ordered
Normally starting with 0 or 1, with Ordered.LOWEST_PRECEDENCE
indicating greatest. Same order values will result in arbitrary
positions for the affected objects.
Higher value can be interpreted as lower priority, consequently the first object has highest priority (somewhat analogous to Servlet "load-on-startup" values).
Note that order values below 0 are reserved for framework purposes. Application-specified values should always be 0 or greater, with only framework components (internal or third-party) supposed to use lower values.
getOrder
in interface Ordered
Ordered.LOWEST_PRECEDENCE
public Advice getAdvice()
Advisor
getAdvice
in interface Advisor
MethodInterceptor
,
BeforeAdvice
,
ThrowsAdvice
,
AfterReturningAdvice
public boolean isPerInstance()
Advisor
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.
isPerInstance
in interface Advisor
public ClassFilter getClassFilter()
IntroductionAdvisor
This represents the class part of a pointcut. Note that method matching doesn't make sense to introductions.
getClassFilter
in interface IntroductionAdvisor
public boolean matches(Class clazz)
ClassFilter
matches
in interface ClassFilter
clazz
- the candidate target class
public boolean equals(Object other)
equals
in class Object
public int hashCode()
hashCode
in class Object
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |