如何从Bytebuddy中的AnnotationDescription.Loadable获取注释值

时间:2017-04-05 04:12:03

标签: java byte-buddy

我希望从一个特定的注释中获取注释值,例如@Callcount,它有一个名为key的字段。

 MethodList<MethodDescription.InDefinedShape> methods = typeDefinition.getDeclaredMethods();
    for (MethodDescription.InDefinedShape method : methods) {
        AnnotationDescription.Loadable<CalledCount> callCountAnno;
        if ((callCountAnno = method.getDeclaredAnnotations().ofType(CalledCount.class)) != null) {
           callCountAnno.getValue(?);//how can i do here?
        }
    }

我不知道如何构建方法callCountAnno.getValue()的参数,我该怎么办?

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是加载注释,允许您以类型安全的方式访问该值。您可以通过loadloadSilent方法执行此操作。或者,您需要提供您想要解决的问题。您可以通过以下方式提供加载的方法参考:MethodDescription.ForLoadedMethod( ... )