Java.lang.Package.getAnnotation() Method
Description
The java.lang.Package.getAnnotation(Class<A> annotationClass) method returns this element's annotation for the specified type if such an annotation is present, else null.
Declaration
Following is the declaration for java.lang.Package.getAnnotation() method
public <A extends Annotation> A getAnnotation(Class<A> annotationClass)
Parameters
annotationClass -- the Class object corresponding to the annotation type
Return Value
This method returns this element's annotation for the specified annotation type if present on this element, else null
Exception
NullPointerException -- if the given annotation class is null
IllegalMonitorStateException -- if the current thread is not the owner of the object's monitor.
Example
The following example shows the usage of lang.Object.getAnnotation() method.
package com.tutorialspoint;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method;
// declare a new annotation
@Retention(RetentionPolicy.RUNTIME)
@interface Demo {
String str();
int val();
}
public class PackageDemo {
// set values for the annotation
@Demo(str = "Demo Annotation", val = 100)
// a method to call in the main
public static void example() {
PackageDemo ob = new PackageDemo();
try {
Class c = ob.getClass();
// get the method example
Method m = c.getMethod("example");
// get the annotation for class Demo
Demo annotation = m.getAnnotation(Demo.class);
// print the annotation
System.out.println(annotation.str() + " " + annotation.val());
} catch (NoSuchMethodException exc) {
exc.printStackTrace();
}
}
public static void main(String args[]) {
example();
}
}
Let us compile and run the above program, this will produce the following result:
Demo Annotation 100