blob: 2f582fe2e898768eaf596c87a0255adff3af9bab [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>HttpConstraint</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="HttpConstraint";
}
}
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="../../../jakarta/servlet/annotation/HandlesTypes.html" title="annotation in jakarta.servlet.annotation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../jakarta/servlet/annotation/HttpMethodConstraint.html" title="annotation in jakarta.servlet.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/servlet/annotation/HttpConstraint.html" target="_top">Frames</a></li>
<li><a href="HttpConstraint.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">jakarta.servlet.annotation</div>
<h2 title="Annotation Type HttpConstraint" class="title">Annotation Type HttpConstraint</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@Documented
@Retention(value=RUNTIME)
public @interface <span class="memberNameLabel">HttpConstraint</span></pre>
<div class="block">This annotation is used within the <a href="../../../jakarta/servlet/annotation/ServletSecurity.html" title="annotation in jakarta.servlet.annotation"><code>ServletSecurity</code></a> annotation to represent the security constraints to be
applied to all HTTP protocol methods for which a corresponding <a href="../../../jakarta/servlet/annotation/HttpMethodConstraint.html" title="annotation in jakarta.servlet.annotation"><code>HttpMethodConstraint</code></a> element does NOT occur
within the <a href="../../../jakarta/servlet/annotation/ServletSecurity.html" title="annotation in jakarta.servlet.annotation"><code>ServletSecurity</code></a> annotation.
<p>
For the special case where an <code>@HttpConstraint</code> that returns all default values occurs in combination with
at least one <a href="../../../jakarta/servlet/annotation/HttpMethodConstraint.html" title="annotation in jakarta.servlet.annotation"><code>HttpMethodConstraint</code></a> that returns other than all default values, the
<code>@HttpConstraint</code> represents that no security constraint is to be applied to any of the HTTP protocol
methods to which a security constraint would otherwise apply. This exception is made to ensure that such potentially
non-specific uses of <code>@HttpConstraint</code> do not yield constraints that will explicitly establish unprotected
access for such methods; given that they would not otherwise be covered by a constraint.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Servlet 3.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>java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/servlet/annotation/HttpConstraint.html#rolesAllowed--">rolesAllowed</a></span></code>
<div class="block">The names of the authorized roles.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../jakarta/servlet/annotation/ServletSecurity.TransportGuarantee.html" title="enum in jakarta.servlet.annotation">ServletSecurity.TransportGuarantee</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/servlet/annotation/HttpConstraint.html#transportGuarantee--">transportGuarantee</a></span></code>
<div class="block">The data protection requirements (i.e., whether or not SSL/TLS is required) that must be satisfied by the connections
on which requests arrive.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../jakarta/servlet/annotation/ServletSecurity.EmptyRoleSemantic.html" title="enum in jakarta.servlet.annotation">ServletSecurity.EmptyRoleSemantic</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/servlet/annotation/HttpConstraint.html#value--">value</a></span></code>
<div class="block">The default authorization semantic.</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="value--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>value</h4>
<pre>public abstract&nbsp;<a href="../../../jakarta/servlet/annotation/ServletSecurity.EmptyRoleSemantic.html" title="enum in jakarta.servlet.annotation">ServletSecurity.EmptyRoleSemantic</a>&nbsp;value</pre>
<div class="block">The default authorization semantic. This value is insignificant when <code>rolesAllowed</code> returns a non-empty
array, and should not be specified when a non-empty array is specified for <tt>rolesAllowed</tt>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../jakarta/servlet/annotation/ServletSecurity.EmptyRoleSemantic.html" title="enum in jakarta.servlet.annotation"><code>ServletSecurity.EmptyRoleSemantic</code></a> to be applied when <code>rolesAllowed</code> returns an empty (that is,
zero-length) array.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>jakarta.servlet.annotation.ServletSecurity.EmptyRoleSemantic.PERMIT</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="transportGuarantee--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transportGuarantee</h4>
<pre>public abstract&nbsp;<a href="../../../jakarta/servlet/annotation/ServletSecurity.TransportGuarantee.html" title="enum in jakarta.servlet.annotation">ServletSecurity.TransportGuarantee</a>&nbsp;transportGuarantee</pre>
<div class="block">The data protection requirements (i.e., whether or not SSL/TLS is required) that must be satisfied by the connections
on which requests arrive.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../jakarta/servlet/annotation/ServletSecurity.TransportGuarantee.html" title="enum in jakarta.servlet.annotation"><code>ServletSecurity.TransportGuarantee</code></a> indicating the data protection that must be provided by the connection.</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>jakarta.servlet.annotation.ServletSecurity.TransportGuarantee.NONE</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="rolesAllowed--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>rolesAllowed</h4>
<pre>public abstract&nbsp;java.lang.String[]&nbsp;rolesAllowed</pre>
<div class="block">The names of the authorized roles.
Duplicate role names appearing in rolesAllowed are insignificant and may be discarded during runtime processing of
the annotation. The String <tt>"*"</tt> has no special meaning as a role name (should it occur in rolesAllowed).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array of zero or more role names. When the array contains zero elements, its meaning depends on the
<code>EmptyRoleSemantic</code> returned by the <code>value</code> method. If <code>value</code> returns
<tt>DENY</tt>, and <code>rolesAllowed</code> returns a zero length array, access is to be denied independent of
authentication state and identity. Conversely, if <code>value</code> returns <code>PERMIT</code>, it indicates that
access is to be allowed independent of authentication state and identity. When the array contains the names of one or
more roles, it indicates that access is contingent on membership in at least one of the named roles (independent of
the <code>EmptyRoleSemantic</code> returned by the <code>value</code> method).</dd>
</dl>
<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="../../../jakarta/servlet/annotation/HandlesTypes.html" title="annotation in jakarta.servlet.annotation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../jakarta/servlet/annotation/HttpMethodConstraint.html" title="annotation in jakarta.servlet.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/servlet/annotation/HttpConstraint.html" target="_top">Frames</a></li>
<li><a href="HttpConstraint.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>