You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by si...@apache.org on 2010/12/24 21:22:19 UTC

svn commit: r1052581 [4/5] - in /incubator/river/site/trunk/content/river/doc/api/net/jini/security: ./ class-use/ policy/ proxytrust/

Added: incubator/river/site/trunk/content/river/doc/api/net/jini/security/TrustVerifier.Context.html
URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/net/jini/security/TrustVerifier.Context.html?rev=1052581&view=auto
==============================================================================
--- incubator/river/site/trunk/content/river/doc/api/net/jini/security/TrustVerifier.Context.html (added)
+++ incubator/river/site/trunk/content/river/doc/api/net/jini/security/TrustVerifier.Context.html Fri Dec 24 20:22:17 2010
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_15) on Mon Mar 08 17:46:24 EST 2010 -->
+<TITLE>
+TrustVerifier.Context (Apache River v2.1.2-SNAPSHOT API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="net.jini.security.TrustVerifier.Context interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TrustVerifier.Context (Apache River v2.1.2-SNAPSHOT API Documentation)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TrustVerifier.Context.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../net/jini/security/TrustVerifier.html" title="interface in net.jini.security"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../net/jini/security/VerifyingProxyPreparer.html" title="class in net.jini.security"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?net/jini/security/TrustVerifier.Context.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TrustVerifier.Context.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+net.jini.security</FONT>
+<BR>
+Interface TrustVerifier.Context</H2>
+<DL>
+<DT><B>Enclosing interface:</B><DD><A HREF="../../../net/jini/security/TrustVerifier.html" title="interface in net.jini.security">TrustVerifier</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static interface <B>TrustVerifier.Context</B></DL>
+</PRE>
+
+<P>
+Defines the context for trust verification used by
+ <A HREF="../../../net/jini/security/TrustVerifier.html" title="interface in net.jini.security"><CODE>TrustVerifier</CODE></A> instances and <A HREF="../../../net/jini/security/Security.html#verifyObjectTrust(java.lang.Object, java.lang.ClassLoader, java.util.Collection)"><CODE>Security.verifyObjectTrust</CODE></A>. A context contains an ordered list of
+ <A HREF="../../../net/jini/security/TrustVerifier.html" title="interface in net.jini.security"><CODE>TrustVerifier</CODE></A> instances, a class loader, and a collection of
+ other context objects typically provided by the caller of
+ <code>Security.verifyObjectTrust</code>.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/security/TrustVerifier.Context.html#getCallerContext()">getCallerContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a collection of context objects for use by trust verifiers.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/security/TrustVerifier.Context.html#getClassLoader()">getClassLoader</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the class loader that can be used as a basis for trust
+ verification.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/security/TrustVerifier.Context.html#isTrustedObject(java.lang.Object)">isTrustedObject</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the specified object is trusted to
+ correctly implement its contract; returns <code>false</code>
+ otherwise.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="isTrustedObject(java.lang.Object)"><!-- --></A><H3>
+isTrustedObject</H3>
+<PRE>
+boolean <B>isTrustedObject</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj)
+                        throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/RemoteException.html" title="class or interface in java.rmi">RemoteException</A></PRE>
+<DL>
+<DD>Returns <code>true</code> if the specified object is trusted to
+ correctly implement its contract; returns <code>false</code>
+ otherwise.
+ <p>
+ If the specified object is <code>null</code>, this method returns
+ <code>true</code>. Otherwise, the
+ <A HREF="../../../net/jini/security/TrustVerifier.html#isTrustedObject(java.lang.Object, net.jini.security.TrustVerifier.Context)"><CODE>isTrustedObject</CODE></A> method of
+ each verifier contained in this context is called (in order) with
+ the specified object and this context. If any verifier call returns
+ <code>true</code>, the object is trusted and this method returns
+ <code>true</code>. If all of the verifier calls return
+ <code>false</code>, this method returns <code>false</code>.
+ If one or more verifier calls throw a <code>RemoteException</code>
+ or <code>SecurityException</code>, the last such exception is
+ thrown to the caller (unless some verifier call returns
+ <code>true</code>).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - the object in which to verify trust
+<DT><B>Returns:</B><DD><code>true</code> if the specified object is trusted to
+ correctly implements its contract; <code>false</code> otherwise
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/RemoteException.html" title="class or interface in java.rmi">RemoteException</A></CODE> - if a communication-related exception occurs
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/SecurityException.html" title="class or interface in java.lang">SecurityException</A></CODE> - if a security exception occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getClassLoader()"><!-- --></A><H3>
+getClassLoader</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> <B>getClassLoader</B>()</PRE>
+<DL>
+<DD>Returns the class loader that can be used as a basis for trust
+ verification. In particular, classes and resources reachable from
+ this class loader can be assumed to be trustworthy. A
+ <code>null</code> value is interpreted to mean the current context
+ class loader.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the class loader that can be used as a basis for trust
+ verification</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCallerContext()"><!-- --></A><H3>
+getCallerContext</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> <B>getCallerContext</B>()</PRE>
+<DL>
+<DD>Returns a collection of context objects for use by trust verifiers.
+ The meaning of an element in this collection is determined by its
+ type. As a specific example, a
+ <A HREF="../../../net/jini/core/constraint/MethodConstraints.html" title="interface in net.jini.core.constraint"><CODE>MethodConstraints</CODE></A>
+ instance could be used to specify client constraints for any remote
+ calls that trust verifiers might need to perform.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a collection of context objects for use by trust verifiers</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TrustVerifier.Context.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../net/jini/security/TrustVerifier.html" title="interface in net.jini.security"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../net/jini/security/VerifyingProxyPreparer.html" title="class in net.jini.security"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?net/jini/security/TrustVerifier.Context.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TrustVerifier.Context.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright 2007, 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.
+</BODY>
+</HTML>

Added: incubator/river/site/trunk/content/river/doc/api/net/jini/security/TrustVerifier.html
URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/net/jini/security/TrustVerifier.html?rev=1052581&view=auto
==============================================================================
--- incubator/river/site/trunk/content/river/doc/api/net/jini/security/TrustVerifier.html (added)
+++ incubator/river/site/trunk/content/river/doc/api/net/jini/security/TrustVerifier.html Fri Dec 24 20:22:17 2010
@@ -0,0 +1,253 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_15) on Mon Mar 08 17:46:24 EST 2010 -->
+<TITLE>
+TrustVerifier (Apache River v2.1.2-SNAPSHOT API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="net.jini.security.TrustVerifier interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TrustVerifier (Apache River v2.1.2-SNAPSHOT API Documentation)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TrustVerifier.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../net/jini/security/SecurityContext.html" title="interface in net.jini.security"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../net/jini/security/TrustVerifier.Context.html" title="interface in net.jini.security"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?net/jini/security/TrustVerifier.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TrustVerifier.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+net.jini.security</FONT>
+<BR>
+Interface TrustVerifier</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../net/jini/jeri/BasicJeriTrustVerifier.html" title="class in net.jini.jeri">BasicJeriTrustVerifier</A>, <A HREF="../../../com/sun/jini/proxy/BasicProxyTrustVerifier.html" title="class in com.sun.jini.proxy">BasicProxyTrustVerifier</A>, <A HREF="../../../net/jini/discovery/ConstrainableLookupLocatorTrustVerifier.html" title="class in net.jini.discovery">ConstrainableLookupLocatorTrustVerifier</A>, <A HREF="../../../net/jini/constraint/ConstraintTrustVerifier.html" title="class in net.jini.constraint">ConstraintTrustVerifier</A>, <A HREF="../../../com/sun/jini/discovery/DiscoveryConstraintTrustVerifier.html" title="class in com.sun.jini.discovery">DiscoveryConstraintTrustVerifier</A>, <A HREF="../../../net/jini/jeri/kerberos/KerberosTrustVerifier.html" title="class in net.jini.jeri.kerberos">KerberosTrustVerifier</A>, <A HREF="../../../com/sun/jini/landlord/LandlordProxyVerifier.html" title="class in com.sun.jini.l
 andlord">LandlordProxyVerifier</A>, <A HREF="../../../net/jini/security/proxytrust/ProxyTrustVerifier.html" title="class in net.jini.security.proxytrust">ProxyTrustVerifier</A>, <A HREF="../../../net/jini/jeri/ssl/SslTrustVerifier.html" title="class in net.jini.jeri.ssl">SslTrustVerifier</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>TrustVerifier</B></DL>
+</PRE>
+
+<P>
+Defines the interface for trust verifiers used by
+ <A HREF="../../../net/jini/security/Security.html#verifyObjectTrust(java.lang.Object, java.lang.ClassLoader, java.util.Collection)"><CODE>Security.verifyObjectTrust</CODE></A>, allowing
+ the objects that are trusted to be extended.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+<DT><B>Author:</B></DT>
+  <DD>Sun Microsystems, Inc.</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/security/TrustVerifier.Context.html" title="interface in net.jini.security">TrustVerifier.Context</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines the context for trust verification used by
+ <A HREF="../../../net/jini/security/TrustVerifier.html" title="interface in net.jini.security"><CODE>TrustVerifier</CODE></A> instances and <A HREF="../../../net/jini/security/Security.html#verifyObjectTrust(java.lang.Object, java.lang.ClassLoader, java.util.Collection)"><CODE>Security.verifyObjectTrust</CODE></A>.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/security/TrustVerifier.html#isTrustedObject(java.lang.Object, net.jini.security.TrustVerifier.Context)">isTrustedObject</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj,
+                <A HREF="../../../net/jini/security/TrustVerifier.Context.html" title="interface in net.jini.security">TrustVerifier.Context</A>&nbsp;ctx)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the specified object is known to be
+ trusted to correctly implement its contract; returns <code>false</code>
+ otherwise.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="isTrustedObject(java.lang.Object, net.jini.security.TrustVerifier.Context)"><!-- --></A><H3>
+isTrustedObject</H3>
+<PRE>
+boolean <B>isTrustedObject</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj,
+                        <A HREF="../../../net/jini/security/TrustVerifier.Context.html" title="interface in net.jini.security">TrustVerifier.Context</A>&nbsp;ctx)
+                        throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/RemoteException.html" title="class or interface in java.rmi">RemoteException</A></PRE>
+<DL>
+<DD>Returns <code>true</code> if the specified object is known to be
+ trusted to correctly implement its contract; returns <code>false</code>
+ otherwise.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - the object in which to verify trust<DD><CODE>ctx</CODE> - the trust verifier context, to aid in verification of
+ the specified object and its components
+<DT><B>Returns:</B><DD><code>true</code> if the specified object is known to be
+ trusted to correctly implement its contract; <code>false</code>
+ otherwise
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/RemoteException.html" title="class or interface in java.rmi">RemoteException</A></CODE> - if a communication-related exception occurs
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/SecurityException.html" title="class or interface in java.lang">SecurityException</A></CODE> - if a security exception occurs
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/NullPointerException.html" title="class or interface in java.lang">NullPointerException</A></CODE> - if any argument is <code>null</code></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TrustVerifier.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../net/jini/security/SecurityContext.html" title="interface in net.jini.security"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../net/jini/security/TrustVerifier.Context.html" title="interface in net.jini.security"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?net/jini/security/TrustVerifier.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TrustVerifier.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright 2007, 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.
+</BODY>
+</HTML>

Added: incubator/river/site/trunk/content/river/doc/api/net/jini/security/VerifyingProxyPreparer.html
URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/net/jini/security/VerifyingProxyPreparer.html?rev=1052581&view=auto
==============================================================================
--- incubator/river/site/trunk/content/river/doc/api/net/jini/security/VerifyingProxyPreparer.html (added)
+++ incubator/river/site/trunk/content/river/doc/api/net/jini/security/VerifyingProxyPreparer.html Fri Dec 24 20:22:17 2010
@@ -0,0 +1,507 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_15) on Mon Mar 08 17:46:24 EST 2010 -->
+<TITLE>
+VerifyingProxyPreparer (Apache River v2.1.2-SNAPSHOT API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="net.jini.security.VerifyingProxyPreparer class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="VerifyingProxyPreparer (Apache River v2.1.2-SNAPSHOT API Documentation)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/VerifyingProxyPreparer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../net/jini/security/TrustVerifier.Context.html" title="interface in net.jini.security"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?net/jini/security/VerifyingProxyPreparer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="VerifyingProxyPreparer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+net.jini.security</FONT>
+<BR>
+Class VerifyingProxyPreparer</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>net.jini.security.VerifyingProxyPreparer</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public final class <B>VerifyingProxyPreparer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</A></DL>
+</PRE>
+
+<P>
+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.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.1</DD>
+<DT><B>Author:</B></DT>
+  <DD>Sun Microsystems, Inc.</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../net/jini/security/VerifyingProxyPreparer.html#VerifyingProxyPreparer(boolean, java.lang.ClassLoader, java.lang.Object[], java.security.Principal[], java.security.Permission[])">VerifyingProxyPreparer</A></B>(boolean&nbsp;addProxyConstraints,
+                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A>&nbsp;loader,
+                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;contextElements,
+                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Principal.html" title="class or interface in java.security">Principal</A>[]&nbsp;principals,
+                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Permission.html" title="class or interface in java.security">Permission</A>[]&nbsp;permissions)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../net/jini/security/VerifyingProxyPreparer.html#VerifyingProxyPreparer(java.lang.ClassLoader, java.lang.Object[], java.security.Principal[], java.security.Permission[])">VerifyingProxyPreparer</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A>&nbsp;loader,
+                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;contextElements,
+                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Principal.html" title="class or interface in java.security">Principal</A>[]&nbsp;principals,
+                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Permission.html" title="class or interface in java.security">Permission</A>[]&nbsp;permissions)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../net/jini/security/VerifyingProxyPreparer.html#VerifyingProxyPreparer(java.lang.Object[], java.security.Permission[])">VerifyingProxyPreparer</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;contextElements,
+                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Permission.html" title="class or interface in java.security">Permission</A>[]&nbsp;permissions)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/security/VerifyingProxyPreparer.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the specified object and this object
+ are both instances of this class that were constructed with equivalent
+ arguments.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/security/VerifyingProxyPreparer.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a hash code value for this object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/security/VerifyingProxyPreparer.html#prepareProxy(java.lang.Object)">prepareProxy</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;proxy)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs operations on a proxy to prepare it for use, returning the
+ prepared proxy, which may or may not be the argument itself.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/security/VerifyingProxyPreparer.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a string representation of this object.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/
 docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="VerifyingProxyPreparer(java.lang.Object[], java.security.Permission[])"><!-- --></A><H3>
+VerifyingProxyPreparer</H3>
+<PRE>
+public <B>VerifyingProxyPreparer</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;contextElements,
+                              <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Permission.html" title="class or interface in java.security">Permission</A>[]&nbsp;permissions)</PRE>
+<DL>
+<DD>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.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>contextElements</CODE> - the trust verifier context elements<DD><CODE>permissions</CODE> - the permissions to dynamically grant, or
+ <code>null</code> if no permissions should be granted
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/NullPointerException.html" 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><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/IllegalArgumentException.html" 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></DL>
+</DL>
+<HR>
+
+<A NAME="VerifyingProxyPreparer(java.lang.ClassLoader, java.lang.Object[], java.security.Principal[], java.security.Permission[])"><!-- --></A><H3>
+VerifyingProxyPreparer</H3>
+<PRE>
+public <B>VerifyingProxyPreparer</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A>&nbsp;loader,
+                              <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;contextElements,
+                              <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Principal.html" title="class or interface in java.security">Principal</A>[]&nbsp;principals,
+                              <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Permission.html" title="class or interface in java.security">Permission</A>[]&nbsp;permissions)</PRE>
+<DL>
+<DD>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.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>loader</CODE> - the class loader for finding trust verifiers, or
+ <code>null</code> to use the context class loader<DD><CODE>contextElements</CODE> - the trust verifier context elements<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><CODE>permissions</CODE> - the permissions to dynamically grant, or
+ <code>null</code> if no permissions should be granted
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/NullPointerException.html" 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><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/IllegalArgumentException.html" 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></DL>
+</DL>
+<HR>
+
+<A NAME="VerifyingProxyPreparer(boolean, java.lang.ClassLoader, java.lang.Object[], java.security.Principal[], java.security.Permission[])"><!-- --></A><H3>
+VerifyingProxyPreparer</H3>
+<PRE>
+public <B>VerifyingProxyPreparer</B>(boolean&nbsp;addProxyConstraints,
+                              <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A>&nbsp;loader,
+                              <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]&nbsp;contextElements,
+                              <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Principal.html" title="class or interface in java.security">Principal</A>[]&nbsp;principals,
+                              <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Permission.html" title="class or interface in java.security">Permission</A>[]&nbsp;permissions)</PRE>
+<DL>
+<DD>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.
+<P>
+<DL>
+<DT><B>Parameters:</B><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><CODE>loader</CODE> - the class loader for finding trust verifiers, or
+ <code>null</code> to use the context class loader<DD><CODE>contextElements</CODE> - the trust verifier context elements, or
+ <code>null</code> if no elements need to be supplied<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><CODE>permissions</CODE> - the permissions to dynamically grant, or
+ <code>null</code> if no permissions should be granted
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/NullPointerException.html" 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></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="prepareProxy(java.lang.Object)"><!-- --></A><H3>
+prepareProxy</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>prepareProxy</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;proxy)
+                    throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/RemoteException.html" title="class or interface in java.rmi">RemoteException</A></PRE>
+<DL>
+<DD>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[], java.security.Permission[])"><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[])"><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://java.sun.com/j2se/1.4.2/docs/api/java/lang/UnsupportedOperationException.html" 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>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../net/jini/security/ProxyPreparer.html#prepareProxy(java.lang.Object)">prepareProxy</A></CODE> in interface <CODE><A HREF="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>proxy</CODE> - the proxy to prepare
+<DT><B>Returns:</B><DD>the prepared proxy
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/NullPointerException.html" title="class or interface in java.lang">NullPointerException</A></CODE> - if <code>proxy</code> is <code>null</code>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/RemoteException.html" title="class or interface in java.rmi">RemoteException</A></CODE> - if a communication-related exception occurs
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/SecurityException.html" title="class or interface in java.lang">SecurityException</A></CODE> - if a security exception occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD>Returns a string representation of this object.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj)</PRE>
+<DL>
+<DD>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.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD>Returns a hash code value for this object.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/VerifyingProxyPreparer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../net/jini/security/TrustVerifier.Context.html" title="interface in net.jini.security"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?net/jini/security/VerifyingProxyPreparer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="VerifyingProxyPreparer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright 2007, 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.
+</BODY>
+</HTML>

Added: incubator/river/site/trunk/content/river/doc/api/net/jini/security/package-frame.html
URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/net/jini/security/package-frame.html?rev=1052581&view=auto
==============================================================================
--- incubator/river/site/trunk/content/river/doc/api/net/jini/security/package-frame.html (added)
+++ incubator/river/site/trunk/content/river/doc/api/net/jini/security/package-frame.html Fri Dec 24 20:22:17 2010
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_15) on Mon Mar 08 17:46:29 EST 2010 -->
+<TITLE>
+net.jini.security (Apache River v2.1.2-SNAPSHOT API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="net.jini.security package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../net/jini/security/package-summary.html" target="classFrame">net.jini.security</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="IntegrityVerifier.html" title="interface in net.jini.security" target="classFrame"><I>IntegrityVerifier</I></A>
+<BR>
+<A HREF="ProxyPreparer.html" title="interface in net.jini.security" target="classFrame"><I>ProxyPreparer</I></A>
+<BR>
+<A HREF="SecurityContext.html" title="interface in net.jini.security" target="classFrame"><I>SecurityContext</I></A>
+<BR>
+<A HREF="TrustVerifier.html" title="interface in net.jini.security" target="classFrame"><I>TrustVerifier</I></A>
+<BR>
+<A HREF="TrustVerifier.Context.html" title="interface in net.jini.security" target="classFrame"><I>TrustVerifier.Context</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="AccessPermission.html" title="class in net.jini.security" target="classFrame">AccessPermission</A>
+<BR>
+<A HREF="AuthenticationPermission.html" title="class in net.jini.security" target="classFrame">AuthenticationPermission</A>
+<BR>
+<A HREF="BasicProxyPreparer.html" title="class in net.jini.security" target="classFrame">BasicProxyPreparer</A>
+<BR>
+<A HREF="GrantPermission.html" title="class in net.jini.security" target="classFrame">GrantPermission</A>
+<BR>
+<A HREF="Security.html" title="class in net.jini.security" target="classFrame">Security</A>
+<BR>
+<A HREF="VerifyingProxyPreparer.html" title="class in net.jini.security" target="classFrame">VerifyingProxyPreparer</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>

Added: incubator/river/site/trunk/content/river/doc/api/net/jini/security/package-summary.html
URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/net/jini/security/package-summary.html?rev=1052581&view=auto
==============================================================================
--- incubator/river/site/trunk/content/river/doc/api/net/jini/security/package-summary.html (added)
+++ incubator/river/site/trunk/content/river/doc/api/net/jini/security/package-summary.html Fri Dec 24 20:22:17 2010
@@ -0,0 +1,421 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_15) on Mon Mar 08 17:46:29 EST 2010 -->
+<TITLE>
+net.jini.security (Apache River v2.1.2-SNAPSHOT API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="net.jini.security package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="net.jini.security (Apache River v2.1.2-SNAPSHOT API Documentation)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../net/jini/lookup/entry/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;<A HREF="../../../net/jini/security/policy/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?net/jini/security/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package net.jini.security
+</H2>
+Provides mechanisms and abstractions for managing security, especially in the
+presence of dynamically downloaded code.
+<P>
+<B>See:</B>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../net/jini/security/IntegrityVerifier.html" title="interface in net.jini.security">IntegrityVerifier</A></B></TD>
+<TD>Defines the interface for integrity verifiers used by
+ <A HREF="../../../net/jini/security/Security.html#verifyCodebaseIntegrity(java.lang.String, java.lang.ClassLoader)"><CODE>Security.verifyCodebaseIntegrity</CODE></A>,
+ allowing the URLs that provide content integrity to be extended.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security">ProxyPreparer</A></B></TD>
+<TD>Performs operations on a newly unmarshalled remote proxy to prepare it for
+ use.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../net/jini/security/SecurityContext.html" title="interface in net.jini.security">SecurityContext</A></B></TD>
+<TD>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.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../net/jini/security/TrustVerifier.html" title="interface in net.jini.security">TrustVerifier</A></B></TD>
+<TD>Defines the interface for trust verifiers used by
+ <A HREF="../../../net/jini/security/Security.html#verifyObjectTrust(java.lang.Object, java.lang.ClassLoader, java.util.Collection)"><CODE>Security.verifyObjectTrust</CODE></A>, allowing
+ the objects that are trusted to be extended.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../net/jini/security/TrustVerifier.Context.html" title="interface in net.jini.security">TrustVerifier.Context</A></B></TD>
+<TD>Defines the context for trust verification used by
+ <A HREF="../../../net/jini/security/TrustVerifier.html" title="interface in net.jini.security"><CODE>TrustVerifier</CODE></A> instances and <A HREF="../../../net/jini/security/Security.html#verifyObjectTrust(java.lang.Object, java.lang.ClassLoader, java.util.Collection)"><CODE>Security.verifyObjectTrust</CODE></A>.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../net/jini/security/AccessPermission.html" title="class in net.jini.security">AccessPermission</A></B></TD>
+<TD>Represents permission to call a method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../net/jini/security/AuthenticationPermission.html" title="class in net.jini.security">AuthenticationPermission</A></B></TD>
+<TD>Represents permission to use the private credentials of subjects for the
+ purpose of authenticating as any subset of the local principals specified
+ in the target name, during secure remote calls with any peer that
+ authenticates as at least the set of peer principals specified in the
+ target name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../net/jini/security/BasicProxyPreparer.html" title="class in net.jini.security">BasicProxyPreparer</A></B></TD>
+<TD>A <code>ProxyPreparer</code> for verifying that proxies are trusted,
+ granting them dynamic permissions, and setting their constraints, as well as
+ for creating other proxy preparer subclasses that include those
+ operations.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../net/jini/security/GrantPermission.html" title="class in net.jini.security">GrantPermission</A></B></TD>
+<TD>Permission required to dynamically grant permissions by security policy
+ providers which implement the <A HREF="../../../net/jini/security/policy/DynamicPolicy.html" title="interface in net.jini.security.policy"><CODE>DynamicPolicy</CODE></A> interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../net/jini/security/Security.html" title="class in net.jini.security">Security</A></B></TD>
+<TD>Provides methods for executing actions with privileges enabled, for
+ snapshotting security contexts, for verifying trust in proxies, for
+ verifying codebase integrity, and for dynamically granting permissions.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../net/jini/security/VerifyingProxyPreparer.html" title="class in net.jini.security">VerifyingProxyPreparer</A></B></TD>
+<TD>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.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package net.jini.security Description
+</H2>
+
+<P>
+Provides mechanisms and abstractions for managing security, especially in the
+presence of dynamically downloaded code. The mechanisms include:
+<ul>
+<li>A provider-based mechanism for clients to verify that proxies can be
+trusted
+<li>A provider-based mechanism for verifying code integrity
+<li>A provider-based mechanism for clients to dynamically grant permissions
+to proxies
+</ul>
+
+<a name="programming_model"></a><h2>Programming Model</h2>
+
+When a client obtains a proxy from somewhere, normally the client should
+follow these three steps before making any remote calls through the proxy or
+handing any sensitive data to the proxy:
+<ul>
+<li>Verify that the proxy can be <a href="#proxy_trust">trusted</a>
+<li>Attach client
+<a href="../core/constraint/package-summary.html#constraints">constraints</a>
+to (a copy of) the proxy
+<li><a href="#dynamic_grants">Grant</a> permissions (such as
+<A HREF="../../../net/jini/security/AuthenticationPermission.html" title="class in net.jini.security"><CODE>AuthenticationPermission</CODE></A>) to the
+proxy
+</ul>
+The first step can be accomplished using
+<A HREF="../../../net/jini/security/Security.html#verifyObjectTrust(java.lang.Object, java.lang.ClassLoader, java.util.Collection)"><CODE>Security.verifyObjectTrust</CODE></A>. The second step can be accomplished using
+<A HREF="../../../net/jini/core/constraint/RemoteMethodControl.html#setConstraints(net.jini.core.constraint.MethodConstraints)"><CODE>RemoteMethodControl.setConstraints</CODE></A>;
+<A HREF="../../../net/jini/constraint/BasicMethodConstraints.html" title="class in net.jini.constraint"><CODE>BasicMethodConstraints</CODE></A> is a basic
+implementation of
+<A HREF="../../../net/jini/core/constraint/MethodConstraints.html" title="interface in net.jini.core.constraint"><CODE>MethodConstraints</CODE></A>. The last
+step can be accomplished using
+<A HREF="../../../net/jini/security/Security.html#grant(java.lang.Class, java.security.Permission[])"><CODE>Security.grant</CODE></A>.
+<p>
+Normally the client should be written in such a way that it can be configured
+to allow for variations in the steps used to prepare a proxy for subsequent
+use. The usual way is to obtain a
+<A HREF="../../../net/jini/security/ProxyPreparer.html" title="interface in net.jini.security"><CODE>ProxyPreparer</CODE></A> from a
+<A HREF="../../../net/jini/config/Configuration.html" title="interface in net.jini.config"><CODE>Configuration</CODE></A>, using as a default value
+a <A HREF="../../../net/jini/security/BasicProxyPreparer.html" title="class in net.jini.security"><CODE>BasicProxyPreparer</CODE></A> that simply
+returns the proxy. The client can then be configured at deployment time to
+perform whatever steps are desired.
+<pre>
+Configuration config = ...;
+SomeService proxy = ...;
+ProxyPreparer preparer = (ProxyPreparer) config.getEntry(
+                                "MyClient", "someServicePreparer",
+                                ProxyPreparer.class, new BasicProxyPreparer());
+proxy = (SomeService) preparer.prepareProxy(proxy);
+</pre>
+<p>
+<A HREF="../../../net/jini/security/BasicProxyPreparer.html" title="class in net.jini.security"><CODE>BasicProxyPreparer</CODE></A> can be used to
+perform all combinations of these three common steps of proxy preparation.
+
+<a name="proxy_trust"></a><h2>Proxy Trust</h2>
+
+The basic proxy trust issue can be seen with an example. Suppose the client
+wants to make a remote call through a proxy. The proxy implements the
+<A HREF="../../../net/jini/core/constraint/RemoteMethodControl.html" title="interface in net.jini.core.constraint"><CODE>RemoteMethodControl</CODE></A> interface,
+and the client attaches constraints to the proxy, requiring the server to
+authenticate as a particular principal. If the proxy code has been dynamically
+downloaded, and the client does nothing to verify that it trusts the proxy,
+then the downloaded code might simply ignore the client's constraints and
+perform no authentication at all. The proxy code might also corrupt the data
+being passed in the call, or perform some other unintended operation.
+<p>
+The client needs some way to decide that it trusts a proxy. Rather than
+mandating any specific mechanism(s), a pluggable framework is provided.
+The client calls
+<A HREF="../../../net/jini/security/Security.html#verifyObjectTrust(java.lang.Object, java.lang.ClassLoader, java.util.Collection)"><CODE>Security.verifyObjectTrust</CODE></A>, passing the proxy and a caller context collection
+that typically contains a
+<A HREF="../../../net/jini/core/constraint/MethodConstraints.html" title="interface in net.jini.core.constraint"><CODE>MethodConstraints</CODE></A> instance.
+This method uses whatever
+<A HREF="../../../net/jini/security/TrustVerifier.html" title="interface in net.jini.security"><CODE>TrustVerifier</CODE></A> instances have been
+configured to determine if the proxy can be trusted; if any verifier says
+that it trusts the proxy, then the proxy is assumed to be trusted. If no
+verifier trusts the proxy, a <code>SecurityException</code> is thrown. The
+caller context collection contains whatever context information might be
+required by verifiers; a <code>MethodConstraints</code> element in the
+collection is typically used to control any calls to the remote server that
+are made by verifiers.
+<p>
+A baseline for deciding a proxy can be trusted is to examine the proxy and
+all of its constituent objects, excluding the client constraints, to ensure
+that they are all instances of locally trusted (typically, not downloaded)
+classes, containing trusted data. For example,
+<A HREF="../../../net/jini/jeri/BasicJeriTrustVerifier.html" title="class in net.jini.jeri"><CODE>BasicJeriTrustVerifier</CODE></A> provides this
+baseline for basic dynamic proxies of remote objects exported to use Jini
+extensible remote invocation (Jini ERI), in conjunction with
+<A HREF="../../../net/jini/constraint/ConstraintTrustVerifier.html" title="class in net.jini.constraint"><CODE>ConstraintTrustVerifier</CODE></A>, which
+verifies the standard constraints.
+<A HREF="../../../net/jini/security/proxytrust/ProxyTrustVerifier.html" title="class in net.jini.security.proxytrust"><CODE>ProxyTrustVerifier</CODE></A> depends
+on this baseline as a bootstrap, but ultimately asks the server if it trusts
+the proxy.
+<p>
+The client constraints are excluded from the trust verification of a proxy
+because it is assumed that the caller will subsequently either replace them
+with its own constraints that are known to be trusted, or has independently
+decided to trust the existing client constraints.
+<p>
+Note that trust verification does not prevent denial-of-service attacks. If a
+proxy that uses untrusted code is unmarshalled, the untrusted code can execute
+before trust verification takes place. In deployments where the trusted
+sources of downloaded code are known in advance, the
+<A HREF="../../../net/jini/loader/pref/RequireDlPermProvider.html" title="class in net.jini.loader.pref"><CODE>RequireDlPermProvider</CODE></A> can be used
+to prevent code downloading from untrusted sources.
+
+<a name="dynamic_grants"></a><h2>Dynamic Permission Grants</h2>
+
+Once a client decides that it trusts a proxy, it may need to grant additional
+permissions (such as
+<A HREF="../../../net/jini/security/AuthenticationPermission.html" title="class in net.jini.security"><CODE>AuthenticationPermission</CODE></A>) to that
+proxy, so that subsequent calls to the proxy operate correctly. It is
+important to delay granting such permissions until after the trust decision,
+so that an untrusted proxy cannot abuse the grants in a way that might cause
+harm.
+<p>
+Dynamic grants require support from the <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html" title="class or interface in java.security"><CODE>Policy</CODE></A> provider.
+The <A HREF="../../../net/jini/security/policy/package-summary.html"><CODE>net.jini.security.policy</CODE></A> package provides a standard
+interface for security policy providers capable of dynamic permission grants,
+as well as a set of composable security policy providers supporting dynamic
+permission grants and aggregation of multiple security policies in a single
+virtual machine.
+<p>
+<A HREF="../../../net/jini/security/Security.html#grantSupported()"><CODE>Security.grantSupported</CODE></A> can be used to determine if the installed security
+policy supports dynamic grants, and
+<A HREF="../../../net/jini/security/Security.html#grant(java.lang.Class, java.security.Permission[])"><CODE>Security.grant</CODE></A> can
+be used to make dynamic permission grants. The typical use is to grant
+permissions to the class loader of the proxy object's top-level class,
+coupled with the principals of the currently executing subject:
+<pre>
+SomeService proxy = ...;
+Permission[] grants = ...;
+Security.grant(proxy.getClass(), grants);
+</pre>
+In order to dynamically grant a permission, the client itself must have the
+corresponding <A HREF="../../../net/jini/security/GrantPermission.html" title="class in net.jini.security"><CODE>GrantPermission</CODE></A>.
+Because the dynamic grant is coupled with the current subject, proxy code must
+assume that actions executed using
+<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/AccessController.html#doPrivileged(java.security.PrivilegedAction)" title="class or interface in java.security"><CODE>AccessController.doPrivileged</CODE></A> will not have the granted permissions (because
+that method executes the action with no subject);
+<A HREF="../../../net/jini/security/Security.html#doPrivileged(java.security.PrivilegedAction)"><CODE>Security.doPrivileged</CODE></A> should be used instead to maintain the current subject
+and thereby enable privileges in a way that retains the granted permissions.
+
+<a name="code_integrity"></a><h2>Code Integrity</h2>
+
+As described in the <A HREF="../../../net/jini/core/constraint/Integrity.html" title="class in net.jini.core.constraint"><CODE>Integrity</CODE></A>
+constraint class, for a remote call to have integrity, both code and data must
+have integrity, and a common technique is to use codebase URLs that provide
+content integrity. Rather than mandating which URLs provide content integrity,
+a pluggable framework is provided, and
+<A HREF="../../../net/jini/security/Security.html#verifyCodebaseIntegrity(java.lang.String, java.lang.ClassLoader)"><CODE>Security.verifyCodebaseIntegrity</CODE></A> can be used to determine if all of the
+URLs in a codebase provide content integrity, based on whatever
+<A HREF="../../../net/jini/security/IntegrityVerifier.html" title="interface in net.jini.security"><CODE>IntegrityVerifier</CODE></A> instances
+have been configured. Application code normally does not call this method
+directly; rather, it is called by the input streams (such as
+<A HREF="../../../net/jini/io/MarshalInputStream.html" title="class in net.jini.io"><CODE>MarshalInputStream</CODE></A>) used to unmarshal
+objects during a remote call. The
+<A HREF="../../../net/jini/url/httpmd/HttpmdIntegrityVerifier.html" title="class in net.jini.url.httpmd"><CODE>HttpmdIntegrityVerifier</CODE></A>,
+<A HREF="../../../net/jini/url/https/HttpsIntegrityVerifier.html" title="class in net.jini.url.https"><CODE>HttpsIntegrityVerifier</CODE></A>, and
+<A HREF="../../../net/jini/url/file/FileIntegrityVerifier.html" title="class in net.jini.url.file"><CODE>FileIntegrityVerifier</CODE></A> classes are
+provided to verify the integrity of HTTPMD, HTTPS, and FILE URLs, respectively.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+<DT><B>Version:</B></DT>
+  <DD>2.0
+
+<!--
+<h2>Package Specification</h2>
+
+##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
+<ul>
+  <li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
+</ul>
+
+<h2>Related Documentation</h2>
+
+For overviews, tutorials, examples, guides, and tool documentation, please see:
+<ul>
+  <li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
+</ul>
+--></DD>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../net/jini/lookup/entry/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;<A HREF="../../../net/jini/security/policy/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?net/jini/security/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright 2007, 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.
+</BODY>
+</HTML>