JavaTM 2 Platform Std. Ed. v1.6.0
javax.annotation
Annotation Type Resource
@Target(value={TYPE,FIELD,METHOD})
@Retention(value=RUNTIME)
public @interface Resource
The Resource 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.
Even though this annotation is not marked Inherited, 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.
- Since:
- Common Annotations 1.0
name
public abstract String name
- 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
to the method. For class annotations, there is no default
and this must be specified.
- Default:
- ""
type
public abstract Class type
- The Java type of the resource. For field annotations,
the default is the type of the field. For method annotations,
the default is the type of the JavaBeans property.
For class annotations, there is no default and this must be
specified.
- Default:
- java.lang.Object.class
authenticationType
public abstract Resource.AuthenticationType authenticationType
- The authentication type to use for this resource.
This may be specified for resources representing a
connection factory of any supported type, and must
not be specified for resources of other types.
- Default:
- javax.annotation.Resource.AuthenticationType.CONTAINER
shareable
public abstract boolean shareable
- Indicates whether this resource can be shared between
this component and other components.
This may be specified for resources representing a
connection factory of any supported type, and must
not be specified for resources of other types.
- Default:
- true
mappedName
public abstract String mappedName
- A product specific name that this resource should be mapped to.
The name of this resource, as defined by the
name
element or defaulted, is a name that is local to the application
component using the resource. (It's a name in the JNDI
java:comp/env 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
global JNDI name, but may be a name of any form.
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.
- Default:
- ""
description
public abstract String description
- Description of this resource. The description is expected
to be in the default language of the system on which the
application is deployed. The description can be presented
to the Deployer to help in choosing the correct resource.
- Default:
- ""
Copyright 2003 Sun Microsystems, Inc. All rights reserved
|