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

Method Summary
`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.