public class BulkEnhancer extends AbstractEnhancer
Enhancer 的变种,支持添加多个拦截器,可通过传入方法匹配器参数以决定目标方法对应的实际生效的拦截器。AbstractClassGenerator.ClassLoaderData| 限定符和类型 | 字段和说明 |
|---|---|
protected static Signature |
CSTRUCT_BULK_INVOCATION |
protected static Signature |
GENERATED$SET_INTERCEPTOR |
protected static Signature |
GENERATED$SET_STATIC_INTERCEPTOR |
protected static Signature |
GENERATED$SET_THREAD_INTERCEPTOR |
protected static Signature |
METHOD_INVOCATION_INVOKE |
protected static org.objectweb.asm.Type |
TYPE_BULK_ENHANCER |
protected static org.objectweb.asm.Type |
TYPE_BULK_INVOCATION |
CSTRUCT_NULL, FIND_CONSTRUCTORS, FIND_METHODS, GENERATED$BIND_INTERCEPTOR, GENERATED$DEL_THREAD_INTERCEPTOR, GENERATED$EMPTY_ARGS, GENERATED$ENHANCED, GENERATED$INTERCEPTORS_MATRIX, GENERATED$INVOKE_RAW, GENERATED$INVOKE_SUPER, GENERATED$RAW_INVOKER, GENERATED$SET_TARGET_METHODS, GENERATED$STATIC_INTERCEPTOR, GENERATED$SUPER_, GENERATED$SUPER_INVOKER, GENERATED$TARGET_METHODS, GENERATED$THREAD_INTERCEPTOR, GET_DECLARED_CONSTRUCTORS, GET_DECLARED_METHODS, interfaces, METHOD_INVOKER__INVOKE, serialVersion, superclass, targetMethods, THREAD_LOCAL_GET, THREAD_LOCAL_REMOVE, THREAD_LOCAL_SET, TYPE_ABSTRACT_ENHANCER, TYPE_INTERCEPTOR, TYPE_INTERCEPTOR_ARRAY, TYPE_INTERCEPTOR_ARRAY_ARRAY, TYPE_INVOCATION_EXCEPTION, TYPE_INVOKER, TYPE_METHOD, TYPE_METHOD_ARRAY, TYPE_THREAD_LOCAL, withFinal| 构造器和说明 |
|---|
BulkEnhancer() |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
bindThreadInterceptors(Class<?> type) |
BulkEnhancer |
clear() |
protected void |
emitMethods(ClassEmitter ce,
List<MethodInfo> methods,
Map<String,Method> undeclaredMethods) |
protected void |
emitSpecialFields(ClassEmitter ce) |
protected void |
emitStaticBindInterceptor(ClassEmitter ce) |
protected Object |
generateKey() |
protected Signature |
getSetStaticInterceptorSignature() |
protected Signature |
getSetThreadInterceptorSignature() |
BulkEnhancer |
interceptors(Interceptor... interceptors) |
BulkEnhancer |
interceptors(Predicate<Method> predicate,
Interceptor... interceptors) |
BulkEnhancer |
interfaces(Class<?>[] interfaces) |
protected void |
registerStaticInterceptors(Class<?> type) |
protected void |
saveTargetMethods(Method[] targetMethods) |
BulkEnhancer |
serialVersionUID(Long serialVersionUID) |
BulkEnhancer |
superclass(Class<?> superclass) |
BulkEnhancer |
withFinal(boolean withFinal) |
create, createClass, emitConstructors, emitSpecialMethod, emitStandardFields, emitStaticBlock, emitStaticInvokeRaw, emitStaticInvokeSuper, emitStaticSetStaticInterceptor, emitStaticSetTargetMethods, emitStaticSetThreadInterceptor, emitSuperMethods, findConstructors, findMethods, generate, generateClass, getDefaultClassLoader, getProtectionDomain, registerTargetMethods, unbindThreadInterceptorsattemptLoad, attemptLoad, checkState, generateClass, getClassLoader, getClassName, isEditable, isFrozen, namingPolicy, namingPolicy, setBaseName, setClassLoader, setKey, setPackageName, strategy, strategy, useCache, useCacheprotected static final org.objectweb.asm.Type TYPE_BULK_ENHANCER
protected static final org.objectweb.asm.Type TYPE_BULK_INVOCATION
protected static final Signature CSTRUCT_BULK_INVOCATION
protected static final Signature METHOD_INVOCATION_INVOKE
protected static final Signature GENERATED$SET_STATIC_INTERCEPTOR
protected static final Signature GENERATED$SET_THREAD_INTERCEPTOR
protected static final Signature GENERATED$SET_INTERCEPTOR
public BulkEnhancer serialVersionUID(Long serialVersionUID)
serialVersionUID 在类中 AbstractEnhancerpublic BulkEnhancer superclass(Class<?> superclass)
superclass 在类中 AbstractEnhancerpublic BulkEnhancer withFinal(boolean withFinal)
withFinal 在类中 AbstractEnhancerpublic BulkEnhancer interfaces(Class<?>[] interfaces)
interfaces 在类中 AbstractEnhancerpublic BulkEnhancer interceptors(Interceptor... interceptors)
public BulkEnhancer interceptors(Predicate<Method> predicate, Interceptor... interceptors)
public BulkEnhancer clear()
protected Object generateKey()
generateKey 在类中 AbstractEnhancerprotected void registerStaticInterceptors(Class<?> type)
protected void bindThreadInterceptors(Class<?> type)
bindThreadInterceptors 在类中 AbstractEnhancerprotected void saveTargetMethods(Method[] targetMethods)
saveTargetMethods 在类中 AbstractEnhancerprotected void emitSpecialFields(ClassEmitter ce)
emitSpecialFields 在类中 AbstractEnhancerprotected Signature getSetStaticInterceptorSignature()
protected Signature getSetThreadInterceptorSignature()
protected void emitStaticBindInterceptor(ClassEmitter ce)
protected void emitMethods(ClassEmitter ce, List<MethodInfo> methods, Map<String,Method> undeclaredMethods)
emitMethods 在类中 AbstractEnhancerCopyright © 2024 fossc. All rights reserved.