You
can access the annotations of a class, method, field or parameter at
runtime. Here is an example that accesses the class annotations.
import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.PARAMETER) public @interface Test { }
import java.lang.reflect.*; import java.lang.annotation.*; public class GetAnnotations { public void testMethod(String noAnnotation, @Test String withAnnotation){ } public static void main(String[] args) throws Exception { Class myClass = GetAnnotations.class; Method method = myClass.getDeclaredMethod("testMethod", String.class, String.class); Annotation[][] annotations = method.getParameterAnnotations(); for (Annotation[] ann : annotations) { System.out.printf("%d annotatations", ann.length); System.out.println(); } } }
Output
0 annotatations 1 annotatations
No comments:
Post a Comment