KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > beehive > controls > runtime > generator > apt > ControlMemberTypeAnnotationProcessorFactory


1 package org.apache.beehive.controls.runtime.generator.apt;
2
3 /*
4  * Copyright 2004 The Apache Software Foundation
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * $Header:$
19  */

20
21 import java.util.Arrays JavaDoc;
22 import java.util.ArrayList JavaDoc;
23 import java.util.Collection JavaDoc;
24 import java.util.Collections JavaDoc;
25 import java.util.Set JavaDoc;
26
27 import org.apache.beehive.controls.api.bean.AnnotationMemberTypes.Date;
28
29 import com.sun.mirror.apt.AnnotationProcessor;
30 import com.sun.mirror.apt.AnnotationProcessorFactory;
31 import com.sun.mirror.apt.AnnotationProcessorEnvironment;
32 import com.sun.mirror.declaration.AnnotationTypeDeclaration;
33
34 public class ControlMemberTypeAnnotationProcessorFactory implements AnnotationProcessorFactory
35 {
36     private static final Collection JavaDoc<String JavaDoc> _supportedAnnotations =
37             Collections.unmodifiableCollection(
38                 Arrays.asList(new String JavaDoc[] {
39                         org.apache.beehive.controls.api.bean.AnnotationMemberTypes.Date.class.getName(),
40                         org.apache.beehive.controls.api.bean.AnnotationMemberTypes.Decimal.class.getName(),
41                         org.apache.beehive.controls.api.bean.AnnotationMemberTypes.FilePath.class.getName(),
42                         org.apache.beehive.controls.api.bean.AnnotationMemberTypes.Int.class.getName(),
43                         org.apache.beehive.controls.api.bean.AnnotationMemberTypes.JndiName.class.getName(),
44                         org.apache.beehive.controls.api.bean.AnnotationMemberTypes.Optional.class.getName(),
45                         org.apache.beehive.controls.api.bean.AnnotationMemberTypes.QName.class.getName(),
46                         org.apache.beehive.controls.api.bean.AnnotationMemberTypes.Text.class.getName(),
47                         org.apache.beehive.controls.api.bean.AnnotationMemberTypes.URI.class.getName(),
48                         org.apache.beehive.controls.api.bean.AnnotationMemberTypes.URL.class.getName(),
49                         org.apache.beehive.controls.api.bean.AnnotationMemberTypes.URN.class.getName(),
50                         org.apache.beehive.controls.api.bean.AnnotationMemberTypes.XML.class.getName()
51                 }));
52
53     private static final Collection JavaDoc<String JavaDoc> _supportedOptions =
54             Collections.unmodifiableCollection(
55                 Arrays.asList( new String JavaDoc[0] ) );
56
57     public Collection JavaDoc<String JavaDoc> supportedOptions()
58     {
59         return _supportedOptions;
60     }
61
62     public Collection JavaDoc<String JavaDoc> supportedAnnotationTypes()
63     {
64         return _supportedAnnotations;
65     }
66
67     public AnnotationProcessor getProcessorFor(Set JavaDoc<AnnotationTypeDeclaration> atds,
68                                                AnnotationProcessorEnvironment env)
69     {
70         return new ControlMemberTypeAnnotationProcessor(atds, env);
71     }
72 }
73
Popular Tags