Java ByteBuddy-获取intercept()内声明类的注释

Java ByteBuddy-获取intercept()内声明类的注释,java,reflection,byte-buddy,Java,Reflection,Byte Buddy,我需要在intercept()期间获取方法声明类的注释(其中的一个值): 最后一行返回null new AgentBuilder.Default().with(AgentBuilder.Listener.StreamWriting.toSystemOut()).type(ElementMatchers.isAnnotatedWith(SomeAnnotationOnClass.class)) .transform((builder, type, clazzLoad

我需要在
intercept()
期间获取方法声明类的注释(其中的一个值):

最后一行返回null

new AgentBuilder.Default().with(AgentBuilder.Listener.StreamWriting.toSystemOut()).type(ElementMatchers.isAnnotatedWith(SomeAnnotationOnClass.class))
                .transform((builder, type, clazzLoader, javaModule) -> {
                    return builder.method(ElementMatchers.any()).intercept(MethodDelegation.to(MyInterceptor.class));

但这是可行的。。。因此注释是存在的(在类级别!)。但是当调用
intercept()
时,您可以定义自己的绑定器,该绑定器在类文件级信息仍然可用的插装期间执行。假设您使用运行时保留定义注释
@interface Foo
,您可以实现一些:

class FooBinder extends ParameterBinder.ForFixedValue<Foo>
class FooBinder扩展了ParameterBinder.ForFixedValue

可以从注释中提取常量值的位置。然后,该值可用于任何带有
@Foo

注释的拦截器方法,谢谢!在使用AgentBuilder时,是否有关于如何将转换绑定到ParameterBinder.ForFixedValue的文档?我找不到任何文档。文档比我想要的要少得多,但是javadoc可以帮助您!您正在为此使用
MethodDelegation.withCustomBinding().bind(…).to(…)
class FooBinder extends ParameterBinder.ForFixedValue<Foo>