Java.lang.getDeclaredAnnotations() Method



Description

The java.lang.Package.getDeclaredAnnotations() method returns all annotations that are directly present on this element. Unlike the other methods in this interface, this method ignores inherited annotations. (Returns an array of length zero if no annotations are directly present on this element.) The caller of this method is free to modify the returned array; it will have no effect on the arrays returned to other callers.

Declaration

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

public Annotation[] getDeclaredAnnotations()

Parameters

NA

Return Value

This method returns all annotations directly present on this element

Exception

NA

Example

The following example shows the usage of lang.Object.getDeclaredAnnotations() method.

package com.tutorialspoint;

import java.lang.annotation.Annotation;
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 annotations
         Annotation[] annotation = m.getDeclaredAnnotations();

         // print the annotation
         for (int i = 0; i < annotation.length; i++) {
            System.out.println(annotation[i]);
         }
      } 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 −

@com.tutorialspoint.Demo(str=Demo Annotation, val=100)
java_lang_package.htm
Advertisements