private static class CglibAopProxy.ProxyCallbackFilter
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private AdvisedSupport |
advised |
private java.util.Map<java.lang.reflect.Method,java.lang.Integer> |
fixedInterceptorMap |
private int |
fixedInterceptorOffset |
Constructor and Description |
---|
ProxyCallbackFilter(AdvisedSupport advised,
java.util.Map<java.lang.reflect.Method,java.lang.Integer> fixedInterceptorMap,
int fixedInterceptorOffset) |
Modifier and Type | Method and Description |
---|---|
int |
accept(java.lang.reflect.Method method)
Implementation of CallbackFilter.accept() to return the index of the
callback we need.
|
boolean |
equals(java.lang.Object other) |
private boolean |
equalsAdviceClasses(Advisor a,
Advisor b) |
private boolean |
equalsPointcuts(Advisor a,
Advisor b) |
int |
hashCode() |
private final AdvisedSupport advised
private final java.util.Map<java.lang.reflect.Method,java.lang.Integer> fixedInterceptorMap
private final int fixedInterceptorOffset
public ProxyCallbackFilter(AdvisedSupport advised, java.util.Map<java.lang.reflect.Method,java.lang.Integer> fixedInterceptorMap, int fixedInterceptorOffset)
public int accept(java.lang.reflect.Method method)
The callbacks for each proxy are built up of a set of fixed callbacks for general use and then a set of callbacks that are specific to a method for use on static targets with a fixed advice chain.
The callback used is determined thus:
this
or when ProxyFactory.getExposeProxy()
returns false
,
then a Dispatcher is used. For static targets, the StaticDispatcher is used;
and for dynamic targets, a DynamicUnadvisedInterceptor is used.
If it possible for the method to return this
then a
StaticUnadvisedInterceptor is used for static targets - the
DynamicUnadvisedInterceptor already considers this.public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object