KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > common > queries > spi > InjectionTargetQueryImplementation


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.j2ee.common.queries.spi;
21 import javax.lang.model.element.TypeElement;
22 import org.netbeans.api.java.source.CompilationController;
23
24 /**
25  * Knowledge of ability to use resouce injection in Java class and the way the injection is generated
26  * @see org.netbeans.modules.j2ee.common.queries.api.InjectionTargetQuery
27  * @author Martin Adamek
28  */

29 public interface InjectionTargetQueryImplementation {
30     
31     /**
32      * Decide if dependency injection can be used in given class.<br>
33      * @param controller CompilationController related to JavaSource
34      * @param typeElement class where annotated field or method should be inserted,
35      * if null is provided, main public class from file is taken
36      * @return true if any container or environment is able to inject resources in given class, false otherwise
37      */

38     boolean isInjectionTarget(CompilationController controller, TypeElement typeElement);
39     
40     /**
41      * Decide if injected reference must be static in given class.
42      * For example, in application client injection can be used only in class with main method and all
43      * injected fields must be static<br>
44      * Implementation
45      * @param controller CompilationController related to JavaSource
46      * @param typeElement class where annotated field or method should be inserted,
47      * if null is provided, main public class from file is taken
48      * @return true if static reference is required in given class, false otherwise
49      */

50     boolean isStaticReferenceRequired(CompilationController controller, TypeElement typeElement);
51     
52 }
53
Popular Tags