blob: b40432961e2b0d810c397911b7fdff8af624f9f6 [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>
<!-- Generated by javadoc (1.8.0) on Sun Aug 28 20:42:13 EST 2016 -->
<title>VerifyingProxyPreparer (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="VerifyingProxyPreparer (Apache River v3.0.0 API Documentation (internals))";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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/VerifyingProxyPreparer.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/TrustVerifier.Context.html" title="interface in net.jini.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?net/jini/security/VerifyingProxyPreparer.html" target="_top">Frames</a></li>
<li><a href="VerifyingProxyPreparer.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><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</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="Class VerifyingProxyPreparer" class="title">Class VerifyingProxyPreparer</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>net.jini.security.VerifyingProxyPreparer</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</a></dd>
</dl>
<hr>
<br>
<pre>public final class <span class="typeNameLabel">VerifyingProxyPreparer</span>
extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</a></pre>
<div class="block">A <code>ProxyPreparer</code> for verifying that proxies are trusted,
dynamically granting permissions to trusted proxies, and optionally
setting the client constraints on trusted proxies.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.1</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">
<!-- =========== 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>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#ADD_CONSTRAINTS">ADD_CONSTRAINTS</a></span></code>
<div class="block">Add proxy's constraints to context.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#AS_IS">AS_IS</a></span></code>
<div class="block">No change to proxy or context.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#contextElements">contextElements</a></span></code>
<div class="block">Trust verifier context elements.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#loader">loader</a></span></code>
<div class="block">Class loader to pass to verifyObjectTrust.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#permissions">permissions</a></span></code>
<div class="block">Permissions to dynamically grant.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#principals">principals</a></span></code>
<div class="block">Principals to scope the permission grant, if any.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#SET_CONSTRAINTS">SET_CONSTRAINTS</a></span></code>
<div class="block">Set constraints on proxy from context.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#type">type</a></span></code>
<div class="block">SET_CONSTRAINTS, AS_IS, or ADD_CONSTRAINTS.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#VerifyingProxyPreparer-boolean-java.lang.ClassLoader-java.lang.Object:A-java.security.Principal:A-java.security.Permission:A-">VerifyingProxyPreparer</a></span>(boolean&nbsp;addProxyConstraints,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;loader,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;contextElements,
<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</a>[]&nbsp;principals,
<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</a>[]&nbsp;permissions)</code>
<div class="block">Creates a proxy preparer that verifies proxies using the specified
class loader and trust verifier context elements (optionally with
the proxy's client constraints as an additional context element),
dynamically grants the specified permissions to trusted proxies for the
specified principals, and returns trusted proxies with their original
client constraints intact.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#VerifyingProxyPreparer-java.lang.ClassLoader-java.lang.Object:A-java.security.Principal:A-java.security.Permission:A-">VerifyingProxyPreparer</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;loader,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;contextElements,
<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</a>[]&nbsp;principals,
<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</a>[]&nbsp;permissions)</code>
<div class="block">Creates a proxy preparer that verifies proxies using the specified
class loader and trust verifier context elements, dynamically grants
the specified permissions to trusted proxies for the specified
principals, and returns trusted proxies with their client constraints
set to the constraints specified as a trust verifier context element.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#VerifyingProxyPreparer-java.lang.Object:A-java.security.Permission:A-">VerifyingProxyPreparer</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;contextElements,
<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</a>[]&nbsp;permissions)</code>
<div class="block">Creates a proxy preparer that verifies proxies using the context
class loader and specified trust verifier context elements, dynamically
grants the specified permissions to trusted proxies for the principals
of the preparing thread's subject, and returns trusted proxies with
their client constraints set to the constraints specified as a trust
verifier context element.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</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>private static <a href="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#checkPermissions-java.security.Permission:A-">checkPermissions</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</a>[]&nbsp;permissions)</code>
<div class="block">Clones the argument, checks for null elements, returns non-null.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#checkPrincipals-java.security.Principal:A-">checkPrincipals</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</a>[]&nbsp;principals)</code>
<div class="block">Clones the argument, checks for null elements.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#equals-java.lang.Object-">equals</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>
<div class="block">Returns <code>true</code> if the specified object and this object
are both instances of this class that were constructed with equivalent
arguments.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#hashCode--">hashCode</a></span>()</code>
<div class="block">Returns a hash code value for this object.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#prepareProxy-java.lang.Object-">prepareProxy</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;proxy)</code>
<div class="block">Performs operations on a proxy to prepare it for use, returning the
prepared proxy, which may or may not be the argument itself.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../net/jini/security/VerifyingProxyPreparer.html#toString--">toString</a></span>()</code>
<div class="block">Returns a string representation of this object.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></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="SET_CONSTRAINTS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SET_CONSTRAINTS</h4>
<pre>private static final&nbsp;int SET_CONSTRAINTS</pre>
<div class="block">Set constraints on proxy from context.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#net.jini.security.VerifyingProxyPreparer.SET_CONSTRAINTS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="AS_IS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AS_IS</h4>
<pre>private static final&nbsp;int AS_IS</pre>
<div class="block">No change to proxy or context.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#net.jini.security.VerifyingProxyPreparer.AS_IS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ADD_CONSTRAINTS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ADD_CONSTRAINTS</h4>
<pre>private static final&nbsp;int ADD_CONSTRAINTS</pre>
<div class="block">Add proxy's constraints to context.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#net.jini.security.VerifyingProxyPreparer.ADD_CONSTRAINTS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="type">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>type</h4>
<pre>private final&nbsp;int type</pre>
<div class="block">SET_CONSTRAINTS, AS_IS, or ADD_CONSTRAINTS.</div>
</li>
</ul>
<a name="loader">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loader</h4>
<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a> loader</pre>
<div class="block">Class loader to pass to verifyObjectTrust.</div>
</li>
</ul>
<a name="contextElements">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>contextElements</h4>
<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[] contextElements</pre>
<div class="block">Trust verifier context elements.</div>
</li>
</ul>
<a name="principals">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>principals</h4>
<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</a>[] principals</pre>
<div class="block">Principals to scope the permission grant, if any.</div>
</li>
</ul>
<a name="permissions">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>permissions</h4>
<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</a>[] permissions</pre>
<div class="block">Permissions to dynamically grant.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="VerifyingProxyPreparer-java.lang.Object:A-java.security.Permission:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>VerifyingProxyPreparer</h4>
<pre>public&nbsp;VerifyingProxyPreparer(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;contextElements,
<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</a>[]&nbsp;permissions)</pre>
<div class="block">Creates a proxy preparer that verifies proxies using the context
class loader and specified trust verifier context elements, dynamically
grants the specified permissions to trusted proxies for the principals
of the preparing thread's subject, and returns trusted proxies with
their client constraints set to the constraints specified as a trust
verifier context element. The arrays passed to this constructor are
neither modified nor retained; subsequent changes to the arrays have no
effect on the instance created.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>contextElements</code> - the trust verifier context elements</dd>
<dd><code>permissions</code> - the permissions to dynamically grant, or
<code>null</code> if no permissions should be granted</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>contextElements</code> is
<code>null</code> or any element of <code>permissions</code> is
<code>null</code></dd>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if no element of
<code>contextElements</code> is an instance of <a href="../../../net/jini/core/constraint/MethodConstraints.html" title="interface in net.jini.core.constraint"><code>MethodConstraints</code></a></dd>
</dl>
</li>
</ul>
<a name="VerifyingProxyPreparer-java.lang.ClassLoader-java.lang.Object:A-java.security.Principal:A-java.security.Permission:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>VerifyingProxyPreparer</h4>
<pre>public&nbsp;VerifyingProxyPreparer(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;loader,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;contextElements,
<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</a>[]&nbsp;principals,
<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</a>[]&nbsp;permissions)</pre>
<div class="block">Creates a proxy preparer that verifies proxies using the specified
class loader and trust verifier context elements, dynamically grants
the specified permissions to trusted proxies for the specified
principals, and returns trusted proxies with their client constraints
set to the constraints specified as a trust verifier context element.
The arrays passed to this constructor are neither modified nor
retained; subsequent changes to the arrays have no effect on the
instance created.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>loader</code> - the class loader for finding trust verifiers, or
<code>null</code> to use the context class loader</dd>
<dd><code>contextElements</code> - the trust verifier context elements</dd>
<dd><code>principals</code> - minimum set of principals to which grants apply, or
<code>null</code> to use the principals of the preparing thread's
subject</dd>
<dd><code>permissions</code> - the permissions to dynamically grant, or
<code>null</code> if no permissions should be granted</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>contextElements</code> is
<code>null</code> or any element of <code>principals</code> or
<code>permissions</code> is <code>null</code></dd>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if no element of
<code>contextElements</code> is an instance of <a href="../../../net/jini/core/constraint/MethodConstraints.html" title="interface in net.jini.core.constraint"><code>MethodConstraints</code></a></dd>
</dl>
</li>
</ul>
<a name="VerifyingProxyPreparer-boolean-java.lang.ClassLoader-java.lang.Object:A-java.security.Principal:A-java.security.Permission:A-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>VerifyingProxyPreparer</h4>
<pre>public&nbsp;VerifyingProxyPreparer(boolean&nbsp;addProxyConstraints,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;loader,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;contextElements,
<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</a>[]&nbsp;principals,
<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</a>[]&nbsp;permissions)</pre>
<div class="block">Creates a proxy preparer that verifies proxies using the specified
class loader and trust verifier context elements (optionally with
the proxy's client constraints as an additional context element),
dynamically grants the specified permissions to trusted proxies for the
specified principals, and returns trusted proxies with their original
client constraints intact. The arrays passed to this constructor are
neither modified nor retained; subsequent changes to the arrays have no
effect on the instance created.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>addProxyConstraints</code> - <code>true</code> if the proxy's client
constraints should be included as a trust verifier context element,
<code>false</code> otherwise</dd>
<dd><code>loader</code> - the class loader for finding trust verifiers, or
<code>null</code> to use the context class loader</dd>
<dd><code>contextElements</code> - the trust verifier context elements, or
<code>null</code> if no elements need to be supplied</dd>
<dd><code>principals</code> - minimum set of principals to which grants apply, or
<code>null</code> to use the principals of the preparing thread's
subject</dd>
<dd><code>permissions</code> - the permissions to dynamically grant, or
<code>null</code> if no permissions should be granted</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 any element of <code>principals</code>
or <code>permissions</code> is <code>null</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="checkPermissions-java.security.Permission:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPermissions</h4>
<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</a>[]&nbsp;checkPermissions(<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</a>[]&nbsp;permissions)</pre>
<div class="block">Clones the argument, checks for null elements, returns non-null.</div>
</li>
</ul>
<a name="checkPrincipals-java.security.Principal:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPrincipals</h4>
<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</a>[]&nbsp;checkPrincipals(<a href="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</a>[]&nbsp;principals)</pre>
<div class="block">Clones the argument, checks for null elements.</div>
</li>
</ul>
<a name="prepareProxy-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareProxy</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;prepareProxy(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;proxy)
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></pre>
<div class="block">Performs operations on a proxy to prepare it for use, returning the
prepared proxy, which may or may not be the argument itself.
<p>
If this preparer was created using the two-argument or four-argument
constructor, or using the five-argument constructor
with <code>addProxyConstraints</code> set to <code>true</code>, and if
the specified proxy is not an instance of <a href="../../../net/jini/core/constraint/RemoteMethodControl.html" title="interface in net.jini.core.constraint"><code>RemoteMethodControl</code></a>,
then a <code>SecurityException</code> is thrown. Otherwise,
<a href="../../../net/jini/security/Security.html#verifyObjectTrust-java.lang.Object-java.lang.ClassLoader-java.util.Collection-"><code>Security.verifyObjectTrust</code></a> is
invoked with the specified proxy, the class loader that was passed to
the constructor of this preparer (or <code>null</code> if the
two-argument constructor was used), and a trust verifier context
collection containing all of the context elements that were passed to
the constructor of this preparer. If this preparer was created using
the five-arguent constructor with <code>addProxyConstraints</code>
set to <code>true</code>, then the proxy's client constraints (obtained
by calling <a href="../../../net/jini/core/constraint/RemoteMethodControl.html#getConstraints--"><code>getConstraints</code></a> on
the proxy) are included as an additional context element. Any exception
thrown by <code>verifyObjectTrust</code> is thrown by this method. If
this preparer was created with a non-<code>null</code> array of
principals and one or more permissions, then
<a href="../../../net/jini/security/Security.html#grant-java.lang.Class-java.security.Principal:A-java.security.Permission:A-"><code>Security.grant</code></a>
is invoked with the proxy's class and those principals and permissions.
If this preparer was created with no array of principals (either
<code>null</code> was specified or the two-argument constructor was
used) but one or more permissions, then
<a href="../../../net/jini/security/Security.html#grant-java.lang.Class-java.security.Permission:A-"><code>Security.grant</code></a> is invoked
with the proxy's class and those permissions. In either case, if
<code>grant</code>
throws an <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang"><code>UnsupportedOperationException</code></a>, this method throws
a <code>SecurityException</code>. Finally, if this preparer was
created using the five-argument constructor, then the original proxy
is returned, otherwise what is returned is the result of calling
<a href="../../../net/jini/core/constraint/RemoteMethodControl.html#setConstraints-net.jini.core.constraint.MethodConstraints-"><code>RemoteMethodControl.setConstraints</code></a> on the proxy, passing the first
trust verifier context element that is an instance of
<a href="../../../net/jini/core/constraint/MethodConstraints.html" title="interface in net.jini.core.constraint"><code>MethodConstraints</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../net/jini/security/ProxyPreparer.html#prepareProxy-java.lang.Object-">prepareProxy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>proxy</code> - the proxy to prepare</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the prepared proxy</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>proxy</code> is <code>null</code></dd>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></code> - if a communication-related exception occurs</dd>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</a></code> - if a security exception occurs</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<div class="block">Returns a string representation of this object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="equals-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
<div class="block">Returns <code>true</code> if the specified object and this object
are both instances of this class that were constructed with equivalent
arguments. The order of trust verifier context elements, principals,
and permissions in the arrays that were passed to the constructor is
not significant.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="hashCode--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;hashCode()</pre>
<div class="block">Returns a hash code value for this object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></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/VerifyingProxyPreparer.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/TrustVerifier.Context.html" title="interface in net.jini.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?net/jini/security/VerifyingProxyPreparer.html" target="_top">Frames</a></li>
<li><a href="VerifyingProxyPreparer.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><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</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>