Package org.springframework.aop.framework.adapter

# 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 the `AdvisorAdapterRegistry` interface. Supports `MethodInterceptor`, `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

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

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### DefaultAdvisorAdapterRegistry

public DefaultAdvisorAdapterRegistry()
Create a new DefaultAdvisorAdapterRegistry, registering well-known adapters.

## Method Details

### wrap

public Advisor wrap(Object adviceObject) throws UnknownAdviceTypeException
Description copied from interface: `AdvisorAdapterRegistry`
Return an `Advisor` wrapping the given advice.

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

Specified by:
  `wrap` in interface `AdvisorAdapterRegistry`
Parameters:
  `adviceObject` - an 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 a `PointcutAdvisor`: just return an interceptor.

Specified by:
  `getInterceptors` in interface `AdvisorAdapterRegistry`
Parameters:
  `advisor` - the 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 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.

Specified by:
  `registerAdvisorAdapter` in interface `AdvisorAdapterRegistry`
Parameters:
  `adapter` - an AdvisorAdapter that understands particular Advisor or Advice types