Java Annotation with single member

Introduction

A single-member annotation contains only one member.

It allows a shorthand form of setting the member value.

When only one member is present, we don't need to specify its name.


import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method;

// A single-member annotation. 
@Retention(RetentionPolicy.RUNTIME)
@interface MySingle {
  int value(); // this variable name must be value
}

public class Main {

  // Annotate a method using a marker.
  @MySingle(100)// ww w  .j a  v  a 2  s  . com
  public static void myMeth() {
    Main ob = new Main();

    try {
      Method m = ob.getClass().getMethod("myMeth");

      MySingle anno = m.getAnnotation(MySingle.class);

      System.out.println(anno.value()); // displays 100

    } catch (NoSuchMethodException exc) {
      System.out.println("Method Not Found.");
    }
  }

  public static void main(String args[]) {
    myMeth();
  }
}



PreviousNext

Related