Source Code Cross Referenced for Resource.java in  » 6.0-JDK-Core » annotation » javax » annotation » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Home
Java Source Code / Java Documentation
1.6.0 JDK Core
2.6.0 JDK Modules
3.6.0 JDK Modules com.sun
4.6.0 JDK Modules com.sun.java
5.6.0 JDK Modules sun
6.6.0 JDK Platform
7.Ajax
8.Apache Harmony Java SE
9.Aspect oriented
10.Authentication Authorization
11.Blogger System
12.Build
13.Byte Code
14.Cache
15.Chart
16.Chat
17.Code Analyzer
18.Collaboration
19.Content Management System
20.Database Client
21.Database DBMS
22.Database JDBC Connection Pool
23.Database ORM
24.Development
25.EJB Server
26.ERP CRM Financial
27.ESB
28.Forum
29.Game
30.GIS
31.Graphic 3D
32.Graphic Library
33.Groupware
34.HTML Parser
35.IDE
36.IDE Eclipse
37.IDE Netbeans
38.Installer
39.Internationalization Localization
40.Inversion of Control
41.Issue Tracking
42.J2EE
43.J2ME
44.JBoss
45.JMS
46.JMX
47.Library
48.Mail Clients
49.Music
50.Net
51.Parser
52.PDF
53.Portal
54.Profiler
55.Project Management
56.Report
57.RSS RDF
58.Rule Engine
59.Science
60.Scripting
61.Search Engine
62.Security
63.Sevlet Container
64.Source Control
65.Swing Library
66.Template Engine
67.Test Coverage
68.Testing
69.UML
70.Web Crawler
71.Web Framework
72.Web Mail
73.Web Server
74.Web Services
75.Web Services apache cxf 2.2.6
76.Web Services AXIS2
77.Wiki Engine
78.Workflow Engines
79.XML
80.XML UI
Java Source Code / Java Documentation » 6.0 JDK Core » annotation » javax.annotation 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


001        /*
002         * Copyright 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
003         * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004         *
005         * This code is free software; you can redistribute it and/or modify it
006         * under the terms of the GNU General Public License version 2 only, as
007         * published by the Free Software Foundation.  Sun designates this
008         * particular file as subject to the "Classpath" exception as provided
009         * by Sun in the LICENSE file that accompanied this code.
010         *
011         * This code is distributed in the hope that it will be useful, but WITHOUT
012         * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013         * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
014         * version 2 for more details (a copy is included in the LICENSE file that
015         * accompanied this code).
016         *
017         * You should have received a copy of the GNU General Public License version
018         * 2 along with this work; if not, write to the Free Software Foundation,
019         * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020         *
021         * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022         * CA 95054 USA or visit www.sun.com if you need additional information or
023         * have any questions.
024         */
025
026        //Copyright Sun Microsystems Inc. 2004 - 2005.
027        package javax.annotation;
028
029        import java.lang.annotation.*;
030        import static java.lang.annotation.ElementType.*;
031        import static java.lang.annotation.RetentionPolicy.*;
032
033        /**
034         * The Resource annotation marks a resource that is needed
035         * by the application.  This annotation may be applied to an
036         * application component class, or to fields or methods of the
037         * component class.  When the annotation is applied to a
038         * field or method, the container will inject an instance
039         * of the requested resource into the application component
040         * when the component is initialized.  If the annotation is
041         * applied to the component class, the annotation declares a
042         * resource that the application will look up at runtime. <p>
043         *
044         * Even though this annotation is not marked Inherited, deployment
045         * tools are required to examine all superclasses of any component
046         * class to discover all uses of this annotation in all superclasses.
047         * All such annotation instances specify resources that are needed
048         * by the application component.  Note that this annotation may
049         * appear on private fields and methods of superclasses; the container
050         * is required to perform injection in these cases as well.
051         *
052         * @since Common Annotations 1.0
053         */
054        @Target({TYPE,FIELD,METHOD})
055        @Retention(RUNTIME)
056        public @interface Resource {
057            /**
058             * The JNDI name of the resource.  For field annotations,
059             * the default is the field name.  For method annotations,
060             * the default is the JavaBeans property name corresponding
061             * to the method.  For class annotations, there is no default
062             * and this must be specified.
063             */
064            String name() default "";
065
066            /**
067             * The Java type of the resource.  For field annotations,
068             * the default is the type of the field.  For method annotations,
069             * the default is the type of the JavaBeans property.
070             * For class annotations, there is no default and this must be
071             * specified.
072             */
073            Class type() default java.lang.Object.class;
074
075            /**
076             * The two possible authentication types for a resource.
077             */
078            enum AuthenticationType {
079                CONTAINER, APPLICATION
080            }
081
082            /**
083             * The authentication type to use for this resource.
084             * This may be specified for resources representing a
085             * connection factory of any supported type, and must
086             * not be specified for resources of other types.
087             */
088            AuthenticationType authenticationType() default AuthenticationType.CONTAINER;
089
090            /**
091             * Indicates whether this resource can be shared between
092             * this component and other components.
093             * This may be specified for resources representing a
094             * connection factory of any supported type, and must
095             * not be specified for resources of other types.
096             */
097            boolean shareable() default true;
098
099            /**
100             * A product specific name that this resource should be mapped to.
101             * The name of this resource, as defined by the <code>name</code>
102             * element or defaulted, is a name that is local to the application
103             * component using the resource.  (It's a name in the JNDI
104             * <code>java:comp/env</code> namespace.)  Many application servers
105             * provide a way to map these local names to names of resources
106             * known to the application server.  This mapped name is often a
107             * <i>global</i> JNDI name, but may be a name of any form. <p>
108             *
109             * Application servers are not required to support any particular
110             * form or type of mapped name, nor the ability to use mapped names.
111             * The mapped name is product-dependent and often installation-dependent.
112             * No use of a mapped name is portable.
113             */
114            String mappedName() default "";
115
116            /**
117             * Description of this resource.  The description is expected
118             * to be in the default language of the system on which the
119             * application is deployed.  The description can be presented
120             * to the Deployer to help in choosing the correct resource.
121             */
122            String description() default "";
123        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.