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 and Description
`ProxyCreatorSupport()` Create a new ProxyCreatorSupport instance.
`ProxyCreatorSupport(AopProxyFactory aopProxyFactory)` Create a new ProxyCreatorSupport instance.

### Method Summary

Methods
`void` `addListener(AdvisedSupportListener listener)` Add the given AdvisedSupportListener to this proxy configuration.
`protected void` `adviceChanged()` Propagate advice change event to all AdvisedSupportListeners.
`protected AopProxy` `createAopProxy()` Subclasses should call this to get a new AOP proxy.
`AopProxyFactory` `getAopProxyFactory()` Return the AopProxyFactory that this ProxyConfig uses.
`protected 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, addAllAdvisors, addInterface, adviceIncluded, copyConfigurationFrom, copyConfigurationFrom, countAdvicesOfType, getAdvisorChainFactory, getAdvisors, getAdvisorsInternal, getInterceptorsAndDynamicInterceptionAdvice, getProxiedInterfaces, getTargetClass, getTargetSource, indexOf, indexOf, isInterfaceProxied, isPreFiltered, removeAdvice, removeAdvisor, removeAdvisor, removeInterface, replaceAdvisor, setAdvisorChainFactory, setInterfaces, setPreFiltered, setTarget, setTargetClass, setTargetSource, toProxyConfigString, toString, updateAdvisorArray`

### 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 Detail

#### 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 Detail

#### 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 deregister

#### 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.