KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > websvc > core > WSInjectiontargetQueryImplementation


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.websvc.core;
21
22 import java.util.List JavaDoc;
23 import javax.lang.model.element.AnnotationMirror;
24 import javax.lang.model.element.ElementKind;
25 import javax.lang.model.element.Name;
26 import org.netbeans.api.project.FileOwnerQuery;
27 import org.netbeans.api.project.Project;
28 import org.netbeans.modules.j2ee.common.Util;
29 import javax.lang.model.element.TypeElement;
30 import org.netbeans.api.java.source.CompilationController;
31 import org.netbeans.modules.j2ee.common.queries.spi.InjectionTargetQueryImplementation;
32 import org.openide.filesystems.FileObject;
33
34 /**
35  *
36  * @author Martin Adamek, Milan Kuchtiak
37  */

38 public class WSInjectiontargetQueryImplementation implements InjectionTargetQueryImplementation {
39     
40     /** Creates a new instance of WSInjectiontargetQueryImplementation */
41     public WSInjectiontargetQueryImplementation() {
42     }
43     
44     public boolean isInjectionTarget(CompilationController controller, TypeElement typeElement) {
45         if (controller == null || typeElement==null) {
46             throw new NullPointerException JavaDoc("Passed null to WSInjectionTargetQueryImplementation.isInjectionTarget(CompilationController, TypeElement)"); // NOI18N
47
}
48         FileObject fo = controller.getFileObject();
49         Project project = FileOwnerQuery.getOwner(fo);
50         if (Util.isJavaEE5orHigher(project) && !(ElementKind.INTERFACE==typeElement.getKind())) {
51             
52             List JavaDoc<? extends AnnotationMirror> annotations = typeElement.getAnnotationMirrors();
53             boolean found = false;
54
55             for (AnnotationMirror m : annotations) {
56                 Name qualifiedName = ((TypeElement)m.getAnnotationType().asElement()).getQualifiedName();
57                 if (qualifiedName.contentEquals("javax.jws.WebService")) { //NOI18N
58
found = true;
59                     break;
60                 }
61                 if (qualifiedName.contentEquals("javax.jws.WebServiceProvider")) { //NOI18N
62
found = true;
63                     break;
64                 }
65             }
66             if (found) return true;
67         }
68         return false;
69     }
70     
71     public boolean isStaticReferenceRequired(CompilationController controller, TypeElement typeElement) {
72         return false;
73     }
74     
75 }
76
Popular Tags