Package org.springframework.aop.framework

# Class ProxyCreatorSupport

java.lang.Object
org.springframework.aop.framework.ProxyConfig
org.springframework.aop.framework.AdvisedSupport
org.springframework.aop.framework.ProxyCreatorSupport

All Implemented Interfaces:
  `Serializable`, `Advised`, `TargetClassAware`

Direct Known Subclasses:
  `AspectJProxyFactory`, `ProxyFactory`, `ProxyFactoryBean`

public class ProxyCreatorSupport extends AdvisedSupport
Base class for proxy factories. Provides convenient access to a configurable AopProxyFactory.

Since:
  2.0.3
Author:
  Juergen Hoeller
See Also:
  - `createAopProxy()`
  - Serialized Form

## Field Summary

### Fields inherited from class org.springframework.aop.framework.AdvisedSupport

`EMPTY_TARGET_SOURCE`

## Constructor Summary

Constructors
Constructor
Description
`ProxyCreatorSupport()`
Create a new ProxyCreatorSupport instance.
`ProxyCreatorSupport(AopProxyFactory aopProxyFactory)`
Create a new ProxyCreatorSupport instance.

## Method Summary

Modifier and Type
Method
Description
`void`
`addListener(AdvisedSupportListener listener)`
Add the given AdvisedSupportListener to this proxy configuration.
`protected void`
`adviceChanged()`
Propagate advice change event to all AdvisedSupportListeners.
`protected final AopProxy`
`createAopProxy()`
Subclasses should call this to get a new AOP proxy.
`AopProxyFactory`
`getAopProxyFactory()`
Return the AopProxyFactory that this ProxyConfig uses.
`protected final boolean`
`isActive()`
Subclasses can call this to check whether any AOP proxies have been created yet.
`void`
`removeListener(AdvisedSupportListener listener)`
Remove the given AdvisedSupportListener from this proxy configuration.
`void`
`setAopProxyFactory(AopProxyFactory aopProxyFactory)`
Customize the AopProxyFactory, allowing different strategies to be dropped in without changing the core framework.

### Methods inherited from class org.springframework.aop.framework.AdvisedSupport

`addAdvice, addAdvice, addAdvisor, addAdvisor, addAdvisors, addAdvisors, addInterface, adviceIncluded, copyConfigurationFrom, copyConfigurationFrom, countAdvicesOfType, getAdvisorChainFactory, getAdvisorCount, getAdvisors, getAdvisorsInternal, getInterceptorsAndDynamicInterceptionAdvice, getProxiedInterfaces, getTargetClass, getTargetSource, indexOf, indexOf, isInterfaceProxied, isPreFiltered, removeAdvice, removeAdvisor, removeAdvisor, removeInterface, replaceAdvisor, setAdvisorChainFactory, setInterfaces, setPreFiltered, setTarget, setTargetClass, setTargetSource, toProxyConfigString, toString`

### Methods inherited from class org.springframework.aop.framework.ProxyConfig

`copyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass`

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

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

### Methods inherited from interface org.springframework.aop.framework.Advised

`isExposeProxy, isFrozen, isProxyTargetClass, setExposeProxy`

## Constructor Details

### ProxyCreatorSupport

public ProxyCreatorSupport()
Create a new ProxyCreatorSupport instance.

### ProxyCreatorSupport

public ProxyCreatorSupport(AopProxyFactory aopProxyFactory)
Create a new ProxyCreatorSupport instance.

Parameters:
  `aopProxyFactory` - the AopProxyFactory to use

## Method Details

### setAopProxyFactory

public void setAopProxyFactory(AopProxyFactory aopProxyFactory)
Customize the AopProxyFactory, allowing different strategies to be dropped in without changing the core framework.

Default is `DefaultAopProxyFactory`, using dynamic JDK proxies or CGLIB proxies based on the requirements.

### getAopProxyFactory

public AopProxyFactory getAopProxyFactory()
Return the AopProxyFactory that this ProxyConfig uses.

### addListener

public void addListener(AdvisedSupportListener listener)
Add the given AdvisedSupportListener to this proxy configuration.

Parameters:
  `listener` - the listener to register

### removeListener

public void removeListener(AdvisedSupportListener listener)
Remove the given AdvisedSupportListener from this proxy configuration.

Parameters:
  `listener` - the listener to remove

### createAopProxy

protected final AopProxy createAopProxy()
Subclasses should call this to get a new AOP proxy. They should not create an AOP proxy with `this` as an argument.

### adviceChanged

protected void adviceChanged()
Propagate advice change event to all AdvisedSupportListeners.

Overrides:
  `adviceChanged` in class `AdvisedSupport`
See Also:
  - `AdvisedSupportListener.adviceChanged(org.springframework.aop.framework.AdvisedSupport)`

### isActive

protected final boolean isActive()
Subclasses can call this to check whether any AOP proxies have been created yet.