有没有办法可以向用户显示与某个类相关的所有可用注释的列表,例如hibernate或javax.persistence下可用的所有注释。
比如,更具体一点,当我在Eclipse中编写@并点击CtlSpace时。 我收到此列表http://screencast.com/t/tLAVFdi46OiB
我想在我的应用程序的界面中显示整个列表。
这个列表必须有一些来自我可以获取此列表的地方。
任何想法
谢谢
答案 0 :(得分:0)
所有注释都实现Annotation接口。因此,您可以尝试使用此类内容查找org.hibernate
包中的所有注释(请参阅Reflections javadocs):
Reflections reflections = new Reflections("org.hibernate");
Set<Class<? extends Annotation>> annotations = reflections.getSubTypesOf(Annotation.class);
您需要Reflections库,该库依赖于Guava和Javassist。如果您正在使用IntelliJ和gradle(我建议),您可以将其包含在您的gradle文件中:
compile 'org.reflections:reflections-maven:0.9.9-RC2'
compile 'com.google.guava:guava:18.0'
compile 'javassist:javassist:3.12.1.GA'