1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.apt;
21
22 import com.sun.mirror.apt.AnnotationProcessor;
23 import com.sun.mirror.apt.AnnotationProcessorEnvironment;
24 import com.sun.mirror.apt.AnnotationProcessorFactory;
25 import com.sun.mirror.declaration.AnnotationTypeDeclaration;
26
27 import java.util.Arrays;
28 import java.util.Collection;
29 import java.util.Collections;
30 import java.util.Set;
31
32 public class CheckstyleConfigAnnotationProcessorFactory implements AnnotationProcessorFactory {
33
34 private static final Collection<String> SUPPORTED_ANNOTATIONS
35 = Collections.unmodifiableCollection(Arrays.asList(
36 "org.apache.myfaces.tobago.apt.annotation.Tag",
37 "org.apache.myfaces.tobago.apt.annotation.TagAttribute",
38 "org.apache.myfaces.tobago.apt.annotation.Taglib"));
39
40 private static final Collection<String> SUPPORTED_OPTIONS = Collections.emptySet();
41
42 private CheckstyleConfigAnnotationProcessor annotationProcessor = null;
43
44 public Collection<String> supportedAnnotationTypes() {
45 return SUPPORTED_ANNOTATIONS;
46 }
47
48 public Collection<String> supportedOptions() {
49 return SUPPORTED_OPTIONS;
50 }
51
52 public AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> declarations,
53 AnnotationProcessorEnvironment env) {
54 if (annotationProcessor == null) {
55 annotationProcessor = new CheckstyleConfigAnnotationProcessor(declarations, env);
56 }
57 return annotationProcessor;
58 }
59 }