KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > javax > annotation > Resource


1 /**
2  * EasyBeans
3  * Copyright (C) 2006 Bull S.A.S.
4  * Contact: easybeans@objectweb.org
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19  * USA
20  *
21  * --------------------------------------------------------------------------
22  * $Id: Resource.java 1100 2006-08-16 13:05:31Z benoitf $
23  * --------------------------------------------------------------------------
24  */

25
26 package javax.annotation;
27
28 import static java.lang.annotation.ElementType.FIELD JavaDoc;
29 import static java.lang.annotation.ElementType.METHOD JavaDoc;
30 import static java.lang.annotation.ElementType.TYPE JavaDoc;
31 import static java.lang.annotation.RetentionPolicy.RUNTIME JavaDoc;
32
33 import java.lang.annotation.Retention JavaDoc;
34 import java.lang.annotation.Target JavaDoc;
35
36 /**
37  * Used to declare a link to a resource (like a Bean's context, a DataSource, etc).
38  * @see <a HREF="http://www.jcp.org/en/jsr/detail?id=220">EJB 3.0 specification</a>
39  * @author Florent Benoit
40  * @since EJB 3.0 version.
41  */

42 // seems strange, documented annotation is not used here ?
43
@Target JavaDoc({TYPE, METHOD, FIELD})
44 @Retention JavaDoc(RUNTIME)
45 public @interface Resource {
46     /**
47      * Type of the authentication.
48      */

49    public enum AuthenticationType {
50        /**
51         * Container.
52         */

53        CONTAINER,
54
55        /**
56         * Application.
57         */

58        APPLICATION
59    }
60
61    /**
62     * Name of the resource. (in java:comp ENC environment)
63     */

64    String JavaDoc name() default "";
65
66    /**
67     * Type of the resource.
68     */

69    Class JavaDoc type() default Object JavaDoc.class;
70
71    /**
72     * The authentication type, with container as default.
73     */

74    AuthenticationType authenticationType() default AuthenticationType.CONTAINER;
75
76    /**
77     * Share this resource between components ?
78     */

79    boolean shareable() default true;
80
81    /**
82     * JNDI name to use for the resource. (name found in the RMI registry)
83     */

84    String JavaDoc mappedName() default "";
85
86    /**
87     * A description for this resource.
88     */

89    String JavaDoc description() default "";
90 }
91
92
Popular Tags