1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.tools.plugin.extractor.annotations.scanner.visitors;
20
21 import java.util.HashMap;
22 import java.util.Map;
23
24 import org.objectweb.asm.AnnotationVisitor;
25 import org.objectweb.asm.Opcodes;
26
27
28
29
30
31
32
33 public class MojoAnnotationVisitor extends AnnotationVisitor {
34 private String annotationClassName;
35
36 private Map<String, Object> annotationValues = new HashMap<>();
37
38 MojoAnnotationVisitor(String annotationClassName) {
39 super(Opcodes.ASM9);
40 this.annotationClassName = annotationClassName;
41 }
42
43 public Map<String, Object> getAnnotationValues() {
44 return annotationValues;
45 }
46
47 @Override
48 public void visit(String name, Object value) {
49 annotationValues.put(name, value);
50 }
51
52 @Override
53 public void visitEnum(String name, String desc, String value) {
54 annotationValues.put(name, value);
55 }
56
57 @Override
58 public AnnotationVisitor visitAnnotation(String name, String desc) {
59 return new MojoAnnotationVisitor(this.annotationClassName);
60 }
61
62 @Override
63 public AnnotationVisitor visitArray(String s) {
64 return new MojoAnnotationVisitor(this.annotationClassName);
65 }
66 }