org.springframework.aop.framework
Class Cglib2AopProxy

java.lang.Object
  extended byorg.springframework.aop.framework.Cglib2AopProxy
All Implemented Interfaces:
AopProxy, Serializable

public class Cglib2AopProxy
extends Object
implements AopProxy, Serializable

CGLIB2-based AopProxy implementation for the Spring AOP framework. Requires CGLIB2 on the class path.

Objects of this type should be obtained through proxy factories, configured by an AdvisedSupport object. This class is internal to the Spring AOP framework and need not be used directly by client code.

DefaultAopProxyFactory will automatically create CGLIB2-based proxies if necessary, for example in case of proxying a target class. See DefaultAopProxyFactory's javadoc for details.

Proxies created using this class are thread-safe if the underlying (target) class is thread-safe.

Built and tested against CGLIB 2.0.2, as of Spring 1.1. Basic functionality will still work on CGLIB 2.0.1, but it is generally recommended to use CGLIB 2.0.2 or later.

Author:
Rod Johnson, Rob Harrop, Juergen Hoeller
See Also:
DefaultAopProxyFactory, ProxyConfig.setProxyTargetClass(boolean), Serialized Form

Nested Class Summary
static class Cglib2AopProxy.SerializableNoOp
          Serializable replacement for CGLIB's NoOp interface.
 
Field Summary
protected  AdvisedSupport advised
          Config used to configure this proxy
protected static Log logger
          Static to optimize serialization
 
Constructor Summary
protected Cglib2AopProxy(AdvisedSupport config)
          Create a new Cglib2AopProxy for the given config.
 
Method Summary
 boolean equals(Object other)
          Checks to see if this CallbackFilter is the same CallbackFilter used for another proxy.
 Object getProxy()
          Create a new Proxy object for the given object.
 Object getProxy(ClassLoader classLoader)
          Create a new Proxy object for the given object.
 int hashCode()
           
protected  void setConstructorArguments(Object[] constructorArgs, Class[] constructorArgTypes)
          Set constructor arguments to use for creating the proxy.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected static final Log logger
Static to optimize serialization


advised

protected final AdvisedSupport advised
Config used to configure this proxy

Constructor Detail

Cglib2AopProxy

protected Cglib2AopProxy(AdvisedSupport config)
                  throws AopConfigException
Create a new Cglib2AopProxy for the given config.

Throws:
AopConfigException - if the config is invalid. We try to throw an informative exception in this case, rather than let a mysterious failure happen later.
Method Detail

setConstructorArguments

protected void setConstructorArguments(Object[] constructorArgs,
                                       Class[] constructorArgTypes)
Set constructor arguments to use for creating the proxy.

Parameters:
constructorArgs - the constructor argument values
constructorArgTypes - the constructor argument types

getProxy

public Object getProxy()
Description copied from interface: AopProxy
Create a new Proxy object for the given object. Uses the thread context class loader (if necessary for proxy creation).

Specified by:
getProxy in interface AopProxy
See Also:
Thread.getContextClassLoader()

getProxy

public Object getProxy(ClassLoader classLoader)
Description copied from interface: AopProxy
Create a new Proxy object for the given object. Uses the given class loader (if necessary for proxy creation).

Specified by:
getProxy in interface AopProxy
Parameters:
classLoader - the class loader to use

hashCode

public int hashCode()

equals

public boolean equals(Object other)
Checks to see if this CallbackFilter is the same CallbackFilter used for another proxy.



Copyright (C) 2003-2004 The Spring Framework Project.