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