<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_162) on Fri Aug 02 12:54:32 CEST 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (Jakarta Annotations API 1.3.5 API)</title>
<meta name="date" content="2019-08-02">
<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="Index (Jakarta Annotations API 1.3.5 API)";
        }
    }
    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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><br>Jakarta Annotations API v1.3.5</div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.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>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#I:D">D</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a name="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><a href="javax/annotation/sql/DataSourceDefinition.html" title="annotation in javax.annotation.sql"><span class="typeNameLink">DataSourceDefinition</span></a> - Annotation Type in <a href="javax/annotation/sql/package-summary.html">javax.annotation.sql</a></dt>
<dd>
<div class="block">Annotation used to define a container <code>DataSource</code> to
 be registered with JNDI.</div>
</dd>
<dt><a href="javax/annotation/sql/DataSourceDefinitions.html" title="annotation in javax.annotation.sql"><span class="typeNameLink">DataSourceDefinitions</span></a> - Annotation Type in <a href="javax/annotation/sql/package-summary.html">javax.annotation.sql</a></dt>
<dd>
<div class="block">Declares one or more <code>DataSourceDefinition</code> annotations.</div>
</dd>
<dt><a href="javax/annotation/security/DeclareRoles.html" title="annotation in javax.annotation.security"><span class="typeNameLink">DeclareRoles</span></a> - Annotation Type in <a href="javax/annotation/security/package-summary.html">javax.annotation.security</a></dt>
<dd>
<div class="block">Used by application to declare security roles.</div>
</dd>
<dt><a href="javax/annotation/security/DenyAll.html" title="annotation in javax.annotation.security"><span class="typeNameLink">DenyAll</span></a> - Annotation Type in <a href="javax/annotation/security/package-summary.html">javax.annotation.security</a></dt>
<dd>
<div class="block">Specifies that no security roles are allowed to invoke the specified 
 method(s).</div>
</dd>
</dl>
<a name="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><a href="javax/annotation/Generated.html" title="annotation in javax.annotation"><span class="typeNameLink">Generated</span></a> - Annotation Type in <a href="javax/annotation/package-summary.html">javax.annotation</a></dt>
<dd>
<div class="block">The <code>Generated</code> annotation is used to mark source code 
 that has been generated.</div>
</dd>
</dl>
<a name="I:J">
<!--   -->
</a>
<h2 class="title">J</h2>
<dl>
<dt><a href="javax/annotation/package-summary.html">javax.annotation</a> - package javax.annotation</dt>
<dd>
<div class="block">This package defines the common annotations.</div>
</dd>
<dt><a href="javax/annotation/security/package-summary.html">javax.annotation.security</a> - package javax.annotation.security</dt>
<dd>
<div class="block">This package contains the security common annotations.</div>
</dd>
<dt><a href="javax/annotation/sql/package-summary.html">javax.annotation.sql</a> - package javax.annotation.sql</dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:M">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><a href="javax/annotation/ManagedBean.html" title="annotation in javax.annotation"><span class="typeNameLink">ManagedBean</span></a> - Annotation Type in <a href="javax/annotation/package-summary.html">javax.annotation</a></dt>
<dd>
<div class="block">The <code>ManagedBean</code> annotation marks a POJO (Plain Old Java Object)
 as a ManagedBean.</div>
</dd>
</dl>
<a name="I:P">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><a href="javax/annotation/security/PermitAll.html" title="annotation in javax.annotation.security"><span class="typeNameLink">PermitAll</span></a> - Annotation Type in <a href="javax/annotation/security/package-summary.html">javax.annotation.security</a></dt>
<dd>
<div class="block">Specifies that all security roles are allowed to invoke the specified 
 method(s) &#8212; i.e., that the specified method(s) are "unchecked".</div>
</dd>
<dt><a href="javax/annotation/PostConstruct.html" title="annotation in javax.annotation"><span class="typeNameLink">PostConstruct</span></a> - Annotation Type in <a href="javax/annotation/package-summary.html">javax.annotation</a></dt>
<dd>
<div class="block">The <code>PostConstruct</code> annotation is used on a method that 
 needs to be executed after dependency injection is done to perform 
 any initialization.</div>
</dd>
<dt><a href="javax/annotation/PreDestroy.html" title="annotation in javax.annotation"><span class="typeNameLink">PreDestroy</span></a> - Annotation Type in <a href="javax/annotation/package-summary.html">javax.annotation</a></dt>
<dd>
<div class="block">The <code>PreDestroy</code> annotation is used on a method as a
 callback notification to signal that the instance is in the
 process of being removed by the container.</div>
</dd>
<dt><a href="javax/annotation/Priority.html" title="annotation in javax.annotation"><span class="typeNameLink">Priority</span></a> - Annotation Type in <a href="javax/annotation/package-summary.html">javax.annotation</a></dt>
<dd>
<div class="block">The <code>Priority</code> annotation can be applied to classes 
 or parameters to indicate in what order they should be used.</div>
</dd>
</dl>
<a name="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><a href="javax/annotation/Resource.html" title="annotation in javax.annotation"><span class="typeNameLink">Resource</span></a> - Annotation Type in <a href="javax/annotation/package-summary.html">javax.annotation</a></dt>
<dd>
<div class="block">The <code>Resource</code> annotation marks a resource that is needed
 by the application.</div>
</dd>
<dt><a href="javax/annotation/Resource.AuthenticationType.html" title="enum in javax.annotation"><span class="typeNameLink">Resource.AuthenticationType</span></a> - Enum in <a href="javax/annotation/package-summary.html">javax.annotation</a></dt>
<dd>
<div class="block">The two possible authentication types for a resource.</div>
</dd>
<dt><a href="javax/annotation/Resources.html" title="annotation in javax.annotation"><span class="typeNameLink">Resources</span></a> - Annotation Type in <a href="javax/annotation/package-summary.html">javax.annotation</a></dt>
<dd>
<div class="block">This class is used to allow multiple resources declarations.</div>
</dd>
<dt><a href="javax/annotation/security/RolesAllowed.html" title="annotation in javax.annotation.security"><span class="typeNameLink">RolesAllowed</span></a> - Annotation Type in <a href="javax/annotation/security/package-summary.html">javax.annotation.security</a></dt>
<dd>
<div class="block">Specifies the list of security roles permitted to access method(s) in an 
 application.</div>
</dd>
<dt><a href="javax/annotation/security/RunAs.html" title="annotation in javax.annotation.security"><span class="typeNameLink">RunAs</span></a> - Annotation Type in <a href="javax/annotation/security/package-summary.html">javax.annotation.security</a></dt>
<dd>
<div class="block">Defines the identity of the application during execution.</div>
</dd>
</dl>
<a name="I:V">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="memberNameLink"><a href="javax/annotation/Resource.AuthenticationType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum javax.annotation.<a href="javax/annotation/Resource.AuthenticationType.html" title="enum in javax.annotation">Resource.AuthenticationType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="javax/annotation/Resource.AuthenticationType.html#values--">values()</a></span> - Static method in enum javax.annotation.<a href="javax/annotation/Resource.AuthenticationType.html" title="enum in javax.annotation">Resource.AuthenticationType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
</dl>
<a href="#I:D">D</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:V">V</a>&nbsp;</div>
<!-- ======= 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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><br>Jakarta Annotations API v1.3.5</div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.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>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2019 Eclipse Foundation. All rights reserved.<br>                     Use is subject to <a href="./doc-files/EFSL.html" target="_top">license terms</a>.</small></p>
</body>
</html>
