blob: 1afe139d4dedd2dd13e01da5de6a74a8eb16fc4e [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>Priorities</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="Priorities";
}
}
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/ws/rs/POST.html" title="annotation in javax.ws.rs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../javax/ws/rs/ProcessingException.html" title="class in javax.ws.rs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/ws/rs/Priorities.html" target="_top">Frames</a></li>
<li><a href="Priorities.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>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</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.ws.rs</div>
<h2 title="Class Priorities" class="title">Class Priorities</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>javax.ws.rs.Priorities</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <span class="typeNameLabel">Priorities</span>
extends java.lang.Object</pre>
<div class="block">A collection of built-in priority constants for the components that are supposed to be
ordered based on their <code>javax.annotation.Priority</code> class-level annotation value when used
or applied by the runtime.
<p>
For example, filters and interceptors are grouped in chains for each of the message
processing extension points: Pre, PreMatch, Post as well as ReadFrom and WriteTo.
Each of these chains is sorted based on priorities which are represented as integer numbers.
All chains, except Post, are sorted in ascending order; the lower the number the higher the priority.
The Post filter chain is sorted in descending order to ensure that response filters are executed in
<em>reverse order</em>.
</p>
<p>
Components that belong to the same priority class (same integer value) are executed in an
implementation-defined manner. By default, when the <code>@Priority</code> annotation is absent on a component,
for which a priority should be applied, the <a href="../../../javax/ws/rs/Priorities.html#USER"><code>USER</code></a> priority value is used.
</p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/ws/rs/Priorities.html#AUTHENTICATION">AUTHENTICATION</a></span></code>
<div class="block">Security authentication filter/interceptor priority.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/ws/rs/Priorities.html#AUTHORIZATION">AUTHORIZATION</a></span></code>
<div class="block">Security authorization filter/interceptor priority.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/ws/rs/Priorities.html#ENTITY_CODER">ENTITY_CODER</a></span></code>
<div class="block">Message encoder or decoder filter/interceptor priority.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/ws/rs/Priorities.html#HEADER_DECORATOR">HEADER_DECORATOR</a></span></code>
<div class="block">Header decorator filter/interceptor priority.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/ws/rs/Priorities.html#USER">USER</a></span></code>
<div class="block">User-level filter/interceptor priority.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="AUTHENTICATION">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AUTHENTICATION</h4>
<pre>public static final&nbsp;int AUTHENTICATION</pre>
<div class="block">Security authentication filter/interceptor priority.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#javax.ws.rs.Priorities.AUTHENTICATION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="AUTHORIZATION">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AUTHORIZATION</h4>
<pre>public static final&nbsp;int AUTHORIZATION</pre>
<div class="block">Security authorization filter/interceptor priority.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#javax.ws.rs.Priorities.AUTHORIZATION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HEADER_DECORATOR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HEADER_DECORATOR</h4>
<pre>public static final&nbsp;int HEADER_DECORATOR</pre>
<div class="block">Header decorator filter/interceptor priority.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#javax.ws.rs.Priorities.HEADER_DECORATOR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ENTITY_CODER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ENTITY_CODER</h4>
<pre>public static final&nbsp;int ENTITY_CODER</pre>
<div class="block">Message encoder or decoder filter/interceptor priority.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#javax.ws.rs.Priorities.ENTITY_CODER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="USER">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>USER</h4>
<pre>public static final&nbsp;int USER</pre>
<div class="block">User-level filter/interceptor priority.
This value is also used as a default priority for application-supplied providers.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#javax.ws.rs.Priorities.USER">Constant Field Values</a></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/ws/rs/POST.html" title="annotation in javax.ws.rs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../javax/ws/rs/ProcessingException.html" title="class in javax.ws.rs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/ws/rs/Priorities.html" target="_top">Frames</a></li>
<li><a href="Priorities.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>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>