1 7 8 package com.sun.mirror.apt; 9 10 import com.sun.mirror.apt.*; 11 import java.util.*; 12 13 20 public class AnnotationProcessors { 21 static class NoOpAP implements AnnotationProcessor { 22 NoOpAP() {} 23 public void process(){} 24 } 25 26 32 static class CompositeAnnotationProcessor implements AnnotationProcessor { 33 34 private List<AnnotationProcessor> aps = 35 new LinkedList<AnnotationProcessor>(); 36 37 41 public CompositeAnnotationProcessor(Collection<AnnotationProcessor> aps) { 42 this.aps.addAll(aps); 43 } 44 45 49 public CompositeAnnotationProcessor(AnnotationProcessor... aps) { 50 for(AnnotationProcessor ap: aps) 51 this.aps.add(ap); 52 } 53 54 58 public void process() { 59 for(AnnotationProcessor ap: aps) 60 ap.process(); 61 } 62 } 63 64 65 71 public final static AnnotationProcessor NO_OP = new NoOpAP(); 72 73 82 public static AnnotationProcessor getCompositeAnnotationProcessor(AnnotationProcessor... aps) { 83 return new CompositeAnnotationProcessor(aps); 84 } 85 86 96 public static AnnotationProcessor getCompositeAnnotationProcessor(Collection<AnnotationProcessor> aps) { 97 return new CompositeAnnotationProcessor(aps); 98 } 99 } 100 101 102 103 | Popular Tags |