blob: ab424c11019d8c012bc3666cd0f0e0b0a87383cf [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>Resource</title>
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Resource";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../javax/annotation/Priority.html" title="annotation in javax.annotation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../javax/annotation/Resource.AuthenticationType.html" title="enum in javax.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javax/annotation/Resource.html" target="_top">Frames</a></li>
<li><a href="Resource.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">javax.annotation</div>
<h2 title="Annotation Type Resource" class="title">Annotation Type Resource</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@Target(value={TYPE,FIELD,METHOD})
@Retention(value=RUNTIME)
@Repeatable(value=<a href="../../javax/annotation/Resources.html" title="annotation in javax.annotation">Resources.class</a>)
public @interface <span class="memberNameLabel">Resource</span></pre>
<div class="block">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 <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.</p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, Common Annotations 1.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!-- -->
</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../javax/annotation/Resource.AuthenticationType.html" title="enum in javax.annotation">Resource.AuthenticationType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/annotation/Resource.html#authenticationType--">authenticationType</a></span></code>
<div class="block">The authentication type to use for this resource.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/annotation/Resource.html#description--">description</a></span></code>
<div class="block">Description of this resource.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/annotation/Resource.html#lookup--">lookup</a></span></code>
<div class="block">The name of the resource that the reference points to.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/annotation/Resource.html#mappedName--">mappedName</a></span></code>
<div class="block">A product-specific name that this resource should be mapped to.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/annotation/Resource.html#name--">name</a></span></code>
<div class="block">The JNDI name of the resource.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/annotation/Resource.html#shareable--">shareable</a></span></code>
<div class="block">Indicates whether this resource can be shared between
this component and other components.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Class&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/annotation/Resource.html#type--">type</a></span></code>
<div class="block">The Java type of the resource.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.element.detail">
<!-- -->
</a>
<h3>Element Detail</h3>
<a name="name--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>name</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;name</pre>
<div class="block">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.</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="lookup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lookup</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;lookup</pre>
<div class="block">The name of the resource that the reference points to. It can
link to any compatible resource using the global JNDI names.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7, Common Annotations 1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="type--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>type</h4>
<pre>public abstract&nbsp;java.lang.Class&lt;?&gt;&nbsp;type</pre>
<div class="block">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.</div>
<dl>
<dt>Default:</dt>
<dd>java.lang.Object.class</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="authenticationType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>authenticationType</h4>
<pre>public abstract&nbsp;<a href="../../javax/annotation/Resource.AuthenticationType.html" title="enum in javax.annotation">Resource.AuthenticationType</a>&nbsp;authenticationType</pre>
<div class="block">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.</div>
<dl>
<dt>Default:</dt>
<dd>javax.annotation.Resource.AuthenticationType.CONTAINER</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="shareable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shareable</h4>
<pre>public abstract&nbsp;boolean&nbsp;shareable</pre>
<div class="block">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.</div>
<dl>
<dt>Default:</dt>
<dd>true</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="mappedName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mappedName</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;mappedName</pre>
<div class="block">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.</p></div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="description--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>description</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;description</pre>
<div class="block">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.</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../javax/annotation/Priority.html" title="annotation in javax.annotation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../javax/annotation/Resource.AuthenticationType.html" title="enum in javax.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javax/annotation/Resource.html" target="_top">Frames</a></li>
<li><a href="Resource.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>