org.springframework.aop.framework.adapter
Interface AdvisorAdapterRegistry

All Known Implementing Classes:
DefaultAdvisorAdapterRegistry

public interface AdvisorAdapterRegistry

Interface for registries of Advisor adapters.

This is an SPI interface, not to be implemented by any Spring user.

Author:
Rod Johnson, Rob Harrop

Method Summary
 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 given AdvisorAdapter.
 Advisor wrap(Object advice)
          Return an Advisor wrapping the given advice.
 

Method Detail

wrap

Advisor wrap(Object advice)
             throws UnknownAdviceTypeException
Return an Advisor wrapping the given advice.

Should by default at least support MethodInterceptor, MethodBeforeAdvice, AfterReturningAdvice, ThrowsAdvice.

Parameters:
advice - object that should be an advice
Returns:
an Advisor wrapping the given advice. Never returns null. If the advice parameter is an Advisor, return it.
Throws:
UnknownAdviceTypeException - if no registered advisor adapter can wrap the supposed advice

getInterceptors

MethodInterceptor[] getInterceptors(Advisor advisor)
                                    throws UnknownAdviceTypeException
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's a PointcutAdvisor: just return an interceptor.

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

void registerAdvisorAdapter(AdvisorAdapter adapter)
Register the given AdvisorAdapter. Note that it is not necessary to register adapters for an AOP Alliance Interceptors or Spring Advices: these must be automatically recognized by an AdvisorAdapterRegistry implementation.

Parameters:
adapter - AdvisorAdapter that understands a particular Advisor or Advice types