Not sure what I'm doing wrong here. My objective is to get the annotation of a method (if exists).
public class RunTest
{
public static void main(String[] args) throws Exception, NoSuchMethodException
{
MyAction action = new MyAction();
Method method = action.getClass().getDeclaredMethod("printSomething");
RequiredPermission permission = method.getAnnotation(RequiredPermission.class);
String value = permission.permissionName();
System.out.println("permission name: "+value);
}
}
MyAction class
public class MyAction
{
@RequiredPermission(permissionName="SYSO", permissionValue = 0)
public void printSomething()
{
System.out.println("hi there");
}
public void printABC()
{
System.out.println("ABC...");
}
}
and the annotation:
public @interface RequiredPermission
{
String permissionName();
int permissionValue();
}
I would expect to see on the console:
permission name: SYSO
but instead I get:
Exception in thread "main" java.lang.NullPointerException at com.annotation.RunTest.main(RunTest.java:14)