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