Class DefaultAdvisorAdapterRegistry
- java.lang.Object
- org.springframework.aop.framework.adapter.DefaultAdvisorAdapterRegistry
- All Implemented Interfaces:
Serializable
,AdvisorAdapterRegistry
public class DefaultAdvisorAdapterRegistry extends Object implements AdvisorAdapterRegistry, Serializable
Default implementation of theAdvisorAdapterRegistry
interface. SupportsMethodInterceptor
,MethodBeforeAdvice
,AfterReturningAdvice
,ThrowsAdvice
.- Author:
- Rod Johnson, Rob Harrop, Juergen Hoeller
- See Also:
- Serialized Form
Constructor Summary
Constructors Constructor Description DefaultAdvisorAdapterRegistry()
Create a new DefaultAdvisorAdapterRegistry, registering well-known adapters.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MethodInterceptor[]
getInterceptors(Advisor advisor)
Return an array of AOP Alliance MethodInterceptors to allow use of the given Advisor in an interception-based framework.void
registerAdvisorAdapter(AdvisorAdapter adapter)
Register the givenAdvisorAdapter
.Advisor
wrap(Object adviceObject)
Return anAdvisor
wrapping the given advice.
Constructor Detail
DefaultAdvisorAdapterRegistry
public DefaultAdvisorAdapterRegistry()
Create a new DefaultAdvisorAdapterRegistry, registering well-known adapters.
Method Detail
wrap
public Advisor wrap(Object adviceObject) throws UnknownAdviceTypeException
Description copied from interface:AdvisorAdapterRegistry
Return anAdvisor
wrapping the given advice.Should by default at least support
MethodInterceptor
,MethodBeforeAdvice
,AfterReturningAdvice
,ThrowsAdvice
.- Specified by:
wrap
in interfaceAdvisorAdapterRegistry
- Parameters:
adviceObject
- object that should be an advice- Returns:
- an Advisor wrapping the given advice (never
null
; if the advice parameter is an Advisor, it is to be returned as-is) - Throws:
UnknownAdviceTypeException
- if no registered advisor adapter can wrap the supposed advice
getInterceptors
public MethodInterceptor[] getInterceptors(Advisor advisor) throws UnknownAdviceTypeException
Description copied from interface:AdvisorAdapterRegistry
Return an array of AOP Alliance MethodInterceptors to allow use of the given Advisor in an interception-based framework.Don't worry about the pointcut associated with the
Advisor
, if it is aPointcutAdvisor
: just return an interceptor.- Specified by:
getInterceptors
in interfaceAdvisorAdapterRegistry
- Parameters:
advisor
- Advisor to find an interceptor for- Returns:
- an array of MethodInterceptors to expose this Advisor's behavior
- Throws:
UnknownAdviceTypeException
- if the Advisor type is not understood by any registered AdvisorAdapter
registerAdvisorAdapter
public void registerAdvisorAdapter(AdvisorAdapter adapter)
Description copied from interface:AdvisorAdapterRegistry
Register the givenAdvisorAdapter
. Note that it is not necessary to register adapters for an AOP Alliance Interceptors or Spring Advices: these must be automatically recognized by anAdvisorAdapterRegistry
implementation.- Specified by:
registerAdvisorAdapter
in interfaceAdvisorAdapterRegistry
- Parameters:
adapter
- AdvisorAdapter that understands particular Advisor or Advice types