You
can access the annotations of a class, method field or parameter at
runtime. Here is an example that accesses the Field annotations.
import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface Test { String name(); String value(); }
public class TestClass { @Test(name="name", value="Name Of the person") public String name; }
import java.lang.reflect.*; import java.lang.annotation.*; public class GetAnnotations { public static void main(String args[]) throws NoSuchFieldException{ Class MyClass = TestClass.class; Field method = MyClass.getDeclaredField("name"); Annotation ann[] = method.getAnnotations(); for(Annotation annotation : ann){ if(annotation instanceof Test){ Test myAnnotation = (Test) annotation; System.out.println("name: " + myAnnotation.name()); System.out.println("value: " + myAnnotation.value()); } } } }
Output
name: name value: Name Of the person
No comments:
Post a Comment