1 package com.android.class2greylist;
2 
3 import java.util.Map;
4 import java.util.HashMap;
5 
6 import org.apache.bcel.classfile.AnnotationEntry;
7 import org.apache.bcel.classfile.ElementValuePair;
8 
9 
10 /**
11  * Base class for an annotation handler, which handle individual annotations on
12  * class members.
13  */
14 public abstract class AnnotationHandler {
handleAnnotation(AnnotationEntry annotation, AnnotationContext context)15     abstract void handleAnnotation(AnnotationEntry annotation, AnnotationContext context);
16 
stringifyAnnotationProperties(AnnotationEntry annotation)17     protected Map<String, String> stringifyAnnotationProperties(AnnotationEntry annotation) {
18         Map<String, String> content = new HashMap<String, String>();
19 
20         // Stringify all annotation properties.
21         for (ElementValuePair prop : annotation.getElementValuePairs()) {
22             content.put(prop.getNameString(), prop.getValue().stringifyValue());
23         }
24 
25         return content;
26     }
27 }
28