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