< prev index next >

jaxws/src/java.xml.ws.annotation/share/classes/javax/annotation/Resource.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this

@@ -28,32 +28,33 @@
 import java.lang.annotation.*;
 import static java.lang.annotation.ElementType.*;
 import static java.lang.annotation.RetentionPolicy.*;
 
 /**
- * The Resource annotation marks a resource that is needed
+ * The <code>Resource</code> annotation marks a resource that is needed
  * by the application.  This annotation may be applied to an
  * application component class, or to fields or methods of the
  * component class.  When the annotation is applied to a
  * field or method, the container will inject an instance
  * of the requested resource into the application component
  * when the component is initialized.  If the annotation is
  * applied to the component class, the annotation declares a
- * resource that the application will look up at runtime. <p>
- *
- * Even though this annotation is not marked Inherited, deployment
+ * resource that the application will look up at runtime.
+ * <p>
+ * Even though this annotation is not marked <code>Inherited</code>, deployment
  * tools are required to examine all superclasses of any component
  * class to discover all uses of this annotation in all superclasses.
  * All such annotation instances specify resources that are needed
  * by the application component.  Note that this annotation may
  * appear on private fields and methods of superclasses; the container
- * is required to perform injection in these cases as well.
+ * is required to perform injection in these cases as well.</p>
  *
  * @since 1.6, Common Annotations 1.0
  */
 @Target({TYPE, FIELD, METHOD})
 @Retention(RUNTIME)
+@Repeatable(Resources.class)
 public @interface Resource {
     /**
      * The JNDI name of the resource.  For field annotations,
      * the default is the field name.  For method annotations,
      * the default is the JavaBeans property name corresponding

@@ -104,23 +105,18 @@
      * not be specified for resources of other types.
      */
     boolean shareable() default true;
 
     /**
-     * A product specific name that this resource should be mapped to.
-     * The name of this resource, as defined by the <code>name</code>
-     * element or defaulted, is a name that is local to the application
-     * component using the resource.  (It's a name in the JNDI
-     * <code>java:comp/env</code> namespace.)  Many application servers
-     * provide a way to map these local names to names of resources
-     * known to the application server.  This mapped name is often a
-     * <i>global</i> JNDI name, but may be a name of any form. <p>
-     *
-     * Application servers are not required to support any particular
+     * A product-specific name that this resource should be mapped to.
+     * The <code>mappedName</code> element provides for mapping the
+     * resource reference to the name of a resource known to the
+     * applicaiton server.  The mapped name could be of any form.
+     * <p>Application servers are not required to support any particular
      * form or type of mapped name, nor the ability to use mapped names.
      * The mapped name is product-dependent and often installation-dependent.
-     * No use of a mapped name is portable.
+     * No use of a mapped name is portable.</p>
      */
     String mappedName() default "";
 
     /**
      * Description of this resource.  The description is expected
< prev index next >