How to use Java annotation leasing strategy of class
•
Java
I'm using comments to generate documents for the API I'm publishing I define it as follows:
@Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface PropertyInfo { String description(); String since() default "5.8"; String link() default ""; }
Now, this works when I use reflection processing classes I can get a list of comments for this method My problem is that it works only when I instantiate a new instance of the object I'm working on I'd rather not instantiate them to get comments I tried retentionpolicy Class, but it doesn't work
Any ideas?
Solution
You don't need to instantiate the object, just the class Here is an example:
public class Snippet { @PropertyInfo(description = "test") public void testMethod() { } public static void main(String[] args) { for (Method m : Snippet.class.getmethods()) { if (m.isAnnotationPresent(PropertyInfo.class)) { System.out.println("The method "+m.getName()+ " has an annotation " + m.getAnnotation(PropertyInfo.class).description()); } } } }
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码