blob: 1af6a48bd8d8a0e371c0ed4816d4a1526593105c [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="../../../javax/servlet/annotation/HandlesTypes.html" title="annotation in javax.servlet.annotation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../javax/servlet/annotation/HttpMethodConstraint.html" title="annotation in javax.servlet.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/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">javax.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="../../../javax/servlet/annotation/ServletSecurity.html" title="annotation in javax.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="../../../javax/servlet/annotation/HttpMethodConstraint.html" title="annotation in javax.servlet.annotation"><code>HttpMethodConstraint</code></a> element does
NOT occur within the <a href="../../../javax/servlet/annotation/ServletSecurity.html" title="annotation in javax.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="../../../javax/servlet/annotation/HttpMethodConstraint.html" title="annotation in javax.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="../../../javax/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="../../../javax/servlet/annotation/ServletSecurity.TransportGuarantee.html" title="enum in javax.servlet.annotation">ServletSecurity.TransportGuarantee</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/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="../../../javax/servlet/annotation/ServletSecurity.EmptyRoleSemantic.html" title="enum in javax.servlet.annotation">ServletSecurity.EmptyRoleSemantic</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/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="../../../javax/servlet/annotation/ServletSecurity.EmptyRoleSemantic.html" title="enum in javax.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="../../../javax/servlet/annotation/ServletSecurity.EmptyRoleSemantic.html" title="enum in javax.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>javax.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="../../../javax/servlet/annotation/ServletSecurity.TransportGuarantee.html" title="enum in javax.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="../../../javax/servlet/annotation/ServletSecurity.TransportGuarantee.html" title="enum in javax.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>javax.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="../../../javax/servlet/annotation/HandlesTypes.html" title="annotation in javax.servlet.annotation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../javax/servlet/annotation/HttpMethodConstraint.html" title="annotation in javax.servlet.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/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>