Inspecting methods annotations

Let's inspect the @Ripe annotation of the eat() method from the Melon class:

First, let's fetch all the declared annotations, and afterward, let's resume to @Ripe:

Class<Melon> clazz = Melon.class;
Method methodEat = clazz.getDeclaredMethod("eat");
Annotation[] methodAnnotations = methodEat.getDeclaredAnnotations();

The returned array printed via Arrays.toString() reveals a single result:

[@modern.challenge.Ripe(value=true)]

And let's cast methodAnnotations[0] to Ripe:

Ripe ripeAnnotation = (Ripe) methodAnnotations[0];
System.out.println("@Ripe value: " + ripeAnnotation.value());

Or we can use the getDeclaredAnnotation() method to fetch the right type directly:

Ripe ripeAnnotation = methodEat.getDeclaredAnnotation(Ripe.class);
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset