Java.lang.Package.isAnnotationPresent() Method

Advertisements


Description

The java.lang.Package.isAnnotationPresent(Class<? extends Annotation> annotationClass) method returns true if an annotation for the specified type is present on this element, else false. This method is designed primarily for convenient access to marker annotations.

Declaration

Following is the declaration for java.lang.Package.isAnnotationPresent() method

public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)

Parameters

  • annotationClass -- the Class object corresponding to the annotation type

Return Value

This method returns true if an annotation for the specified annotation type is present on this element, else false

Exception

  • NullPointerException -- if the given annotation class is null

Example

The following example shows the usage of lang.Object.isAnnotationPresent() 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();
      
      Package[] pack = Package.getPackages();
      // check if annotation hello exists
      for (int i = 0; i < pack.length; i++) {
         System.out.println("" + pack[i].isAnnotationPresent(Demo.class));
      }
   }
}

Let us compile and run the above program, this will produce the following result:

Demo Annotation 100
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false



Advertisements
Advertisements