<!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) on Sun Aug 28 20:42:13 EST 2016 --> | |
<title>SecurityContext (Apache River v3.0.0 API Documentation (internals))</title> | |
<meta name="date" content="2016-08-28"> | |
<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="SecurityContext (Apache River v3.0.0 API Documentation (internals))"; | |
} | |
} | |
catch(err) { | |
} | |
//--> | |
var methods = {"i0":6,"i1":6,"i2":6}; | |
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]}; | |
var altColor = "altColor"; | |
var rowColor = "rowColor"; | |
var tableTab = "tableTab"; | |
var activeTableTab = "activeTableTab"; | |
</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="class-use/SecurityContext.html">Use</a></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="../../../net/jini/security/Security.SubjectProtectionDomain.html" title="class in net.jini.security"><span class="typeNameLink">Prev Class</span></a></li> | |
<li><a href="../../../net/jini/security/TrustVerifier.html" title="interface in net.jini.security"><span class="typeNameLink">Next Class</span></a></li> | |
</ul> | |
<ul class="navList"> | |
<li><a href="../../../index.html?net/jini/security/SecurityContext.html" target="_top">Frames</a></li> | |
<li><a href="SecurityContext.html" target="_top">No Frames</a></li> | |
</ul> | |
<ul class="navList" id="allclasses_navbar_top"> | |
<li><a href="../../../allclasses-noframe.html">All 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: </li> | |
<li>Nested | </li> | |
<li>Field | </li> | |
<li>Constr | </li> | |
<li><a href="#method.summary">Method</a></li> | |
</ul> | |
<ul class="subNavList"> | |
<li>Detail: </li> | |
<li>Field | </li> | |
<li>Constr | </li> | |
<li><a href="#method.detail">Method</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">net.jini.security</div> | |
<h2 title="Interface SecurityContext" class="title">Interface SecurityContext</h2> | |
</div> | |
<div class="contentContainer"> | |
<div class="description"> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<dl> | |
<dt>All Known Implementing Classes:</dt> | |
<dd><a href="../../../org/apache/river/start/AggregatePolicyProvider.AggregateSecurityContext.html" title="class in org.apache.river.start">AggregatePolicyProvider.AggregateSecurityContext</a>, <a href="../../../org/apache/river/start/AggregatePolicyProvider.DefaultSecurityContext.html" title="class in org.apache.river.start">AggregatePolicyProvider.DefaultSecurityContext</a>, <a href="../../../net/jini/security/Security.SecurityContextImpl.html" title="class in net.jini.security">Security.SecurityContextImpl</a></dd> | |
</dl> | |
<hr> | |
<br> | |
<pre>public interface <span class="typeNameLabel">SecurityContext</span></pre> | |
<div class="block">Interface implemented by objects representing security contexts, returned | |
from the <a href="../../../net/jini/security/Security.html#getContext--"><code>getContext</code></a> method of the <a href="../../../net/jini/security/Security.html" title="class in net.jini.security"><code>Security</code></a> class, which in turn may obtain them from a security manager or | |
policy provider implementing the | |
<a href="../../../net/jini/security/policy/SecurityContextSource.html" title="interface in net.jini.security.policy"><code>SecurityContextSource</code></a> interface. | |
Each <code>SecurityContext</code> contains an <a href="http://docs.oracle.com/javase/6/docs/api/java/security/AccessControlContext.html?is-external=true" title="class or interface in java.security"><code>AccessControlContext</code></a> | |
instance representing the access control context in place when the security | |
context was snapshotted; this instance can be passed to one of the | |
<code>doPrivileged</code> methods of the <a href="http://docs.oracle.com/javase/6/docs/api/java/security/AccessController.html?is-external=true" title="class or interface in java.security"><code>AccessController</code></a> class to restore the | |
<code>AccessControlContext</code> portion of the overall security context. | |
Additional state (if any) carried by the security context can be restored | |
for the duration of a <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PrivilegedAction.html?is-external=true" title="class or interface in java.security"><code>PrivilegedAction</code></a> or <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security"><code>PrivilegedExceptionAction</code></a> by passing that action to the appropriate wrap | |
method of the <code>SecurityContext</code> instance, and then executing the | |
returned "wrapper" action. These two operations--restoring the access | |
control context, and restoring any additional context encapsulated by the | |
<code>SecurityContext</code> instance--should be performed in conjunction | |
with a single <code>AccessController.doPrivileged</code> call, as | |
illustrated below: | |
<pre> | |
// snapshot context | |
SecurityContext ctx = Security.getContext(); | |
// restore context | |
AccessController.doPrivileged( | |
ctx.wrap(action), ctx.getAccessControlContext()); | |
</pre> | |
<BOLD> | |
Implementations must override Object equals and hashCode. | |
</BOLD></div> | |
<dl> | |
<dt><span class="simpleTagLabel">Since:</span></dt> | |
<dd>2.0</dd> | |
<dt><span class="simpleTagLabel">Author:</span></dt> | |
<dd>Sun Microsystems, Inc.</dd> | |
</dl> | |
</li> | |
</ul> | |
</div> | |
<div class="summary"> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<!-- ========== METHOD SUMMARY =========== --> | |
<ul class="blockList"> | |
<li class="blockList"><a name="method.summary"> | |
<!-- --> | |
</a> | |
<h3>Method Summary</h3> | |
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> | |
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span></caption> | |
<tr> | |
<th class="colFirst" scope="col">Modifier and Type</th> | |
<th class="colLast" scope="col">Method and Description</th> | |
</tr> | |
<tr id="i0" class="altColor"> | |
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/security/AccessControlContext.html?is-external=true" title="class or interface in java.security">AccessControlContext</a></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/SecurityContext.html#getAccessControlContext--">getAccessControlContext</a></span>()</code> | |
<div class="block">Returns access control context portion of snapshotted security context.</div> | |
</td> | |
</tr> | |
<tr id="i1" class="rowColor"> | |
<td class="colFirst"><code><T> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PrivilegedAction.html?is-external=true" title="class or interface in java.security">PrivilegedAction</a><T></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/SecurityContext.html#wrap-java.security.PrivilegedAction-">wrap</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/security/PrivilegedAction.html?is-external=true" title="class or interface in java.security">PrivilegedAction</a><T> action)</code> | |
<div class="block">Returns a security context-restoring <code>PrivilegedAction</code> that | |
wraps the given action, or returns the action itself if the security | |
context does not include any non-<code>AccessControlContext</code> state | |
to restore.</div> | |
</td> | |
</tr> | |
<tr id="i2" class="altColor"> | |
<td class="colFirst"><code><T> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a><T></code></td> | |
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/SecurityContext.html#wrap-java.security.PrivilegedExceptionAction-">wrap</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a><T> action)</code> | |
<div class="block">Returns a security context-restoring | |
<code>PrivilegedExceptionAction</code> that wraps the given action, or | |
returns the action itself if the security context does not include any | |
non-<code>AccessControlContext</code> state to restore.</div> | |
</td> | |
</tr> | |
</table> | |
</li> | |
</ul> | |
</li> | |
</ul> | |
</div> | |
<div class="details"> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<!-- ============ METHOD DETAIL ========== --> | |
<ul class="blockList"> | |
<li class="blockList"><a name="method.detail"> | |
<!-- --> | |
</a> | |
<h3>Method Detail</h3> | |
<a name="wrap-java.security.PrivilegedAction-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>wrap</h4> | |
<pre><T> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PrivilegedAction.html?is-external=true" title="class or interface in java.security">PrivilegedAction</a><T> wrap(<a href="http://docs.oracle.com/javase/6/docs/api/java/security/PrivilegedAction.html?is-external=true" title="class or interface in java.security">PrivilegedAction</a><T> action)</pre> | |
<div class="block">Returns a security context-restoring <code>PrivilegedAction</code> that | |
wraps the given action, or returns the action itself if the security | |
context does not include any non-<code>AccessControlContext</code> state | |
to restore. The <code>run</code> method of the "wrapper" action (if | |
any) restores the non-<code>AccessControlContext</code> state of the | |
security context before invoking the <code>run</code> method of the | |
wrapped action, and unrestores that state after the wrapped action's | |
<code>run</code> method has completed (normally or otherwise). The | |
value returned or exception thrown by the wrapped action's | |
<code>run</code> method is propagated through the <code>run</code> | |
method of the wrapper action.</div> | |
<dl> | |
<dt><span class="paramLabel">Type Parameters:</span></dt> | |
<dd><code>T</code> - return type of PrivilegedAction</dd> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>action</code> - the action to be wrapped</dd> | |
<dt><span class="returnLabel">Returns:</span></dt> | |
<dd>security context-restoring action wrapping <code>action</code>, | |
or <code>action</code> if no wrapping is necessary</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if <code>action</code> is <code>null</code></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="wrap-java.security.PrivilegedExceptionAction-"> | |
<!-- --> | |
</a> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<h4>wrap</h4> | |
<pre><T> <a href="http://docs.oracle.com/javase/6/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a><T> wrap(<a href="http://docs.oracle.com/javase/6/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a><T> action)</pre> | |
<div class="block">Returns a security context-restoring | |
<code>PrivilegedExceptionAction</code> that wraps the given action, or | |
returns the action itself if the security context does not include any | |
non-<code>AccessControlContext</code> state to restore. The | |
<code>run</code> method of the "wrapper" action (if any) restores the | |
non-<code>AccessControlContext</code> state of the security context | |
before invoking the <code>run</code> method of the wrapped action, and | |
unrestores that state after the wrapped action's <code>run</code> method | |
has completed (normally or otherwise). The value returned or exception | |
thrown by the wrapped action's <code>run</code> method is propagated | |
through the <code>run</code> method of the wrapper action.</div> | |
<dl> | |
<dt><span class="paramLabel">Type Parameters:</span></dt> | |
<dd><code>T</code> - return type of PrivilegedExceptionAction</dd> | |
<dt><span class="paramLabel">Parameters:</span></dt> | |
<dd><code>action</code> - the action to be wrapped</dd> | |
<dt><span class="returnLabel">Returns:</span></dt> | |
<dd>security context-restoring action wrapping <code>action</code>, | |
or <code>action</code> if no wrapping is necessary</dd> | |
<dt><span class="throwsLabel">Throws:</span></dt> | |
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if <code>action</code> is <code>null</code></dd> | |
</dl> | |
</li> | |
</ul> | |
<a name="getAccessControlContext--"> | |
<!-- --> | |
</a> | |
<ul class="blockListLast"> | |
<li class="blockList"> | |
<h4>getAccessControlContext</h4> | |
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/security/AccessControlContext.html?is-external=true" title="class or interface in java.security">AccessControlContext</a> getAccessControlContext()</pre> | |
<div class="block">Returns access control context portion of snapshotted security context.</div> | |
<dl> | |
<dt><span class="returnLabel">Returns:</span></dt> | |
<dd>access control context portion of snapshotted security context</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="class-use/SecurityContext.html">Use</a></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="../../../net/jini/security/Security.SubjectProtectionDomain.html" title="class in net.jini.security"><span class="typeNameLink">Prev Class</span></a></li> | |
<li><a href="../../../net/jini/security/TrustVerifier.html" title="interface in net.jini.security"><span class="typeNameLink">Next Class</span></a></li> | |
</ul> | |
<ul class="navList"> | |
<li><a href="../../../index.html?net/jini/security/SecurityContext.html" target="_top">Frames</a></li> | |
<li><a href="SecurityContext.html" target="_top">No Frames</a></li> | |
</ul> | |
<ul class="navList" id="allclasses_navbar_bottom"> | |
<li><a href="../../../allclasses-noframe.html">All 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: </li> | |
<li>Nested | </li> | |
<li>Field | </li> | |
<li>Constr | </li> | |
<li><a href="#method.summary">Method</a></li> | |
</ul> | |
<ul class="subNavList"> | |
<li>Detail: </li> | |
<li>Field | </li> | |
<li>Constr | </li> | |
<li><a href="#method.detail">Method</a></li> | |
</ul> | |
</div> | |
<a name="skip.navbar.bottom"> | |
<!-- --> | |
</a></div> | |
<!-- ======== END OF BOTTOM NAVBAR ======= --> | |
<p class="legalCopy"><small>Copyright 2007-2013, multiple authors.<br>Licensed under the <a href=http://www.apache.org/licenses/LICENSE-2.0 target=child >Apache License, Version 2.0</a>, see the <a href=../../../doc-files/NOTICE target=child >NOTICE</a> file for attributions.</small></p> | |
</body> | |
</html> |