AopProxy implementation for the Spring AOP framework.
Objects of this type should be obtained through proxy factories,
configured by an AdvisedSupport object. This class is internal
to Spring's AOP framework and need not be used directly by client code.
DefaultAopProxyFactory will automatically create CGLIB-based
proxies if necessary, for example in case of proxying a target class
(see the attendant javadoc for details).
Proxies created using this class are thread-safe if the underlying (target) class is thread-safe.
org.springframework.cglib.proxy.Enhancer , AdvisedSupport#setProxyTargetClass, DefaultAopProxyFactory
| Modifier and Type | Class and Description |
|---|---|
| private static class | CglibAopProxy.
Dispatcher for any methods declared on the Advised class. |
| private static class | CglibAopProxy.
Implementation of AOP Alliance MethodInvocation used by this AOP proxy. |
| private static class | CglibAopProxy.
General purpose AOP callback. |
| private static class | CglibAopProxy.
Interceptor for unadvised dynamic targets when the proxy needs exposing. |
| private static class | CglibAopProxy.
Interceptor used to invoke a dynamic target without creating a method invocation or evaluating an advice chain. |
| private static class | CglibAopProxy.
Dispatcher for the |
| private static class | CglibAopProxy.
Interceptor used specifically for advised methods on a frozen, static proxy. |
| private static class | CglibAopProxy.
Dispatcher for the |
| private static class | CglibAopProxy.
CallbackFilter to assign Callbacks to methods. |
| public static class | CglibAopProxy.
Serializable replacement for CGLIB's NoOp interface. |
| private static class | CglibAopProxy.
Dispatcher for a static target. |
| private static class | CglibAopProxy.
Method interceptor used for static targets with no advice chain, when the proxy is to be exposed. |
| private static class | CglibAopProxy.
Method interceptor used for static targets with no advice chain. |
| Modifier and Type | Field and Description |
|---|---|
| protected final AdvisedSupport | advised
The configuration used to configure this proxy. |
| private final transient CglibAopProxy. | advisedDispatcher
Dispatcher used for methods on Advised. |
| private static final int | |
| protected Object[] | |
| protected Class | |
| private static final String | |
| private static final int | |
| private static final int | |
| private transient Map | |
| private transient int | |
| private static final int | |
| private static final int | |
| private static final int | |
| protected static final Log | logger
Logger available to subclasses; static to optimize serialization. |
| private static final int | |
| private static final Map | validatedClasses
Keeps track of the Classes that we have validated for final methods. |
| Access | Constructor and Description |
|---|---|
| public | CglibAopProxy(AdvisedSupport
the AOP configuration as AdvisedSupport object config)Create a new CglibAopProxy for the given AOP configuration. |
| Modifier and Type | Method and Description |
|---|---|
| private Object | |
| protected Enhancer | |
| protected Class | |
| protected Object | |
| private void | doValidateClass(Class<?> proxySuperClass, ClassLoader proxyClassLoader, Set<Class<?>> ifcs)
Checks for final methods on the given |
| public boolean | equals(Object
the reference object with which to compare. other)Overrides java. Indicates whether some other object is "equal to" this one. |
| private Callback[] | |
| public Object | getProxy()
Implements org. Create a new proxy object. |
| public Object | getProxy(ClassLoader
the class loader to create the proxy with
(or classLoader)null for the low-level proxy facility's default)Implements org. Create a new proxy object. |
| public Class | getProxyClass(ClassLoader
the class loader to create the proxy class with
(or classLoader)null for the low-level proxy facility's default)Implements org. Determine the proxy class. |
| public int | |
| private static boolean | implementsInterface(Method method, Set<Class<?>> ifcs)
Check whether the given method is declared on any of the given interfaces. |
| private static Object | |
| public void | setConstructorArguments(Object[]
the constructor argument values constructorArgs, Class<?>[] the constructor argument types constructorArgTypes)Set constructor arguments to use for creating the proxy. |
| private void | validateClassIfNecessary(Class<?> proxySuperClass, ClassLoader proxyClassLoader)
Checks to see whether the supplied |