public class MethodWrap extends java.lang.Object implements Interceptor, MethodHolder
| 构造器和说明 | 
|---|
MethodWrap(AppContext ctx,
          java.lang.Class<?> clz,
          java.lang.reflect.Method m)  | 
| 限定符和类型 | 方法和说明 | 
|---|---|
java.lang.Object | 
doIntercept(Invocation inv)
拦截处理 
 | 
<T extends java.lang.annotation.Annotation> | 
getAnnotation(java.lang.Class<T> type)
获取函数某种注解 
 | 
java.lang.annotation.Annotation[] | 
getAnnotations()
获取函数所有注解 
 | 
java.lang.Class<?> | 
getDeclaringClz()
获取申明类 
 | 
java.lang.reflect.ParameterizedType | 
getGenericReturnType()
获取函数泛型类型 
 | 
java.util.List<InterceptorEntity> | 
getInterceptors()
获取拦截器 
 | 
java.lang.reflect.Method | 
getMethod()
获取函数本身 
 | 
java.lang.String | 
getName()
获取函数名 
 | 
java.lang.Class<?> | 
getOwnerClz()
获取所有者类 
 | 
java.lang.reflect.Parameter[] | 
getParameters()
获取函数原始参数 
 | 
ParamWrap[] | 
getParamWraps()
获取函数参数 
 | 
java.lang.Class<?> | 
getReturnType()
获取函数反回类型 
 | 
java.lang.Object | 
invoke(java.lang.Object obj,
      java.lang.Object[] args)
执行(原生处理) 
 | 
java.lang.Object | 
invokeByAspect(java.lang.Object obj,
              java.lang.Object[] args)
执行切面(即带拦截器的处理) 
 | 
boolean | 
isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
检测是否存在注解 
 | 
MethodWrap | 
ofHandler()
初始化 
 | 
ParamWrap[] | 
paramWraps()  | 
public MethodWrap(AppContext ctx, java.lang.Class<?> clz, java.lang.reflect.Method m)
public ParamWrap[] paramWraps()
public MethodWrap ofHandler()
public java.lang.String getName()
public java.lang.Class<?> getOwnerClz()
getOwnerClz 在接口中 MethodHolderpublic java.lang.Class<?> getDeclaringClz()
getDeclaringClz 在接口中 MethodHolderpublic java.lang.reflect.Method getMethod()
getMethod 在接口中 MethodHolderpublic java.lang.Class<?> getReturnType()
getReturnType 在接口中 MethodHolder@Nullable public java.lang.reflect.ParameterizedType getGenericReturnType()
getGenericReturnType 在接口中 MethodHolderpublic ParamWrap[] getParamWraps()
getParamWraps 在接口中 MethodHolderpublic java.lang.reflect.Parameter[] getParameters()
public java.lang.annotation.Annotation[] getAnnotations()
getAnnotations 在接口中 MethodHolderpublic <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T> type)
getAnnotation 在接口中 MethodHolderpublic boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
public java.util.List<InterceptorEntity> getInterceptors()
getInterceptors 在接口中 MethodHolderpublic java.lang.Object doIntercept(Invocation inv) throws java.lang.Throwable
doIntercept 在接口中 Interceptorinv - 调用者java.lang.Throwablepublic java.lang.Object invoke(java.lang.Object obj,
                               java.lang.Object[] args)
                        throws java.lang.Throwable
obj - 目标对象args - 执行参数java.lang.Throwablepublic java.lang.Object invokeByAspect(java.lang.Object obj,
                                       java.lang.Object[] args)
                                throws java.lang.Throwable
obj - 目标对象(要求:未代理对象。避免二次拦截)args - 执行参数java.lang.Throwable