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.AdvisedDispatcher
Dispatcher for any methods declared on the Advised class. |
| private static class | CglibAopProxy.CglibMethodInvocation
Implementation of AOP Alliance MethodInvocation used by this AOP proxy. |
| private static class | CglibAopProxy.DynamicAdvisedInterceptor
General purpose AOP callback. |
| private static class | CglibAopProxy.DynamicUnadvisedExposedInterceptor
Interceptor for unadvised dynamic targets when the proxy needs exposing. |
| private static class | CglibAopProxy.DynamicUnadvisedInterceptor
Interceptor used to invoke a dynamic target without creating a method invocation or evaluating an advice chain. |
| private static class | CglibAopProxy.EqualsInterceptor
Dispatcher for the |
| private static class | CglibAopProxy.FixedChainStaticTargetInterceptor
Interceptor used specifically for advised methods on a frozen, static proxy. |
| private static class | CglibAopProxy.HashCodeInterceptor
Dispatcher for the |
| private static class | CglibAopProxy.ProxyCallbackFilter
CallbackFilter to assign Callbacks to methods. |
| public static class | CglibAopProxy.SerializableNoOp
Serializable replacement for CGLIB's NoOp interface. |
| private static class | CglibAopProxy.StaticDispatcher
Dispatcher for a static target. |
| private static class | CglibAopProxy.StaticUnadvisedExposedInterceptor
Method interceptor used for static targets with no advice chain, when the proxy is to be exposed. |
| private static class | CglibAopProxy.StaticUnadvisedInterceptor
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. |
| private Callback[] | |
| public Object | getProxy()
Implements org. |
| 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. |
| 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. |
| 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 |