Java Code:
import com.sun.javadoc.*;
import java.lang.annotation.*;

public class AnnotationViewer {
    public static boolean start(RootDoc root)
    {
        ClassDoc[] classes = root.classes();

        for (ClassDoc cls : classes) {
            showAnnotations(cls);
        }

        return(true);
    }

    static void showAnnotations(ClassDoc cls)
    {
        System.out.println("Annotations for class [" + cls + "]");
        process(cls.annotations());

        System.out.println();
        for(MethodDoc m : cls.methods()) {
            System.out.println("Annotations for method [" + m + "]");
            process(m.annotations());
            System.out.println();
        }
    }

    static void process(AnnotationDesc[] anns)
    {
        for (AnnotationDesc ad : anns) {
            AnnotationDesc.ElementValuePair evp[] = ad.elementValues();

            for(AnnotationDesc.ElementValuePair e : evp) {
                System.out.println("  NAME: " + e.element() + ", VALUE=" + e.value());
            }

        }
    }
}