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:45:37 UTC

svn commit: r1052612 [1/3] - in /incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy: ./ class-use/

Author: sijskes
Date: Fri Dec 24 20:45:37 2010
New Revision: 1052612

URL: http://svn.apache.org/viewvc?rev=1052612&view=rev
Log:
doc integration

Added:
    incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/DynamicPolicy.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/DynamicPolicyProvider.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/PolicyFileProvider.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/PolicyInitializationException.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/SecurityContextSource.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/UmbrellaGrantPermission.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/class-use/
    incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/package-frame.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/package-summary.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/package-tree.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/package-use.html

Added: incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/DynamicPolicy.html
URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/DynamicPolicy.html?rev=1052612&view=auto
==============================================================================
--- incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/DynamicPolicy.html (added)
+++ incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/DynamicPolicy.html Fri Dec 24 20:45:37 2010
@@ -0,0 +1,359 @@
+<!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>
+DynamicPolicy (Apache River v2.1.2-SNAPSHOT API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="net.jini.security.policy.DynamicPolicy interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DynamicPolicy (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/DynamicPolicy.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;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../net/jini/security/policy/DynamicPolicyProvider.html" title="class in net.jini.security.policy"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?net/jini/security/policy/DynamicPolicy.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DynamicPolicy.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.policy</FONT>
+<BR>
+Interface DynamicPolicy</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../com/sun/jini/start/AggregatePolicyProvider.html" title="class in com.sun.jini.start">AggregatePolicyProvider</A>, <A HREF="../../../../com/sun/jini/tool/DebugDynamicPolicyProvider.html" title="class in com.sun.jini.tool">DebugDynamicPolicyProvider</A>, <A HREF="../../../../net/jini/security/policy/DynamicPolicyProvider.html" title="class in net.jini.security.policy">DynamicPolicyProvider</A>, <A HREF="../../../../com/sun/jini/start/LoaderSplitPolicyProvider.html" title="class in com.sun.jini.start">LoaderSplitPolicyProvider</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>DynamicPolicy</B></DL>
+</PRE>
+
+<P>
+Interface implemented by security policy providers that may support dynamic
+ granting of permissions at run-time.  The <code>grant</code> methods of the
+ <A HREF="../../../../net/jini/security/Security.html" title="class in net.jini.security"><CODE>Security</CODE></A> class delegate to the
+ methods declared by this interface when this interface is implemented by the
+ installed security policy provider.  Permissions are granted on the
+ granularity of class loader; granting a permission requires (of the calling
+ context) <A HREF="../../../../net/jini/security/GrantPermission.html" title="class in net.jini.security"><CODE>GrantPermission</CODE></A> for that
+ permission.
+<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>
+
+<!-- ========== 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/security/Permission.html" title="class or interface in java.security">Permission</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/security/policy/DynamicPolicy.html#getGrants(java.lang.Class, java.security.Principal[])">getGrants</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cl,
+          <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)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If this security policy provider supports dynamic permission grants,
+ returns a new array containing the cumulative set of permissions
+ dynamically granted to protection domains (including ones not yet
+ created) that are associated with the class loader of the given class
+ and possess at least the given set of principals.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/security/policy/DynamicPolicy.html#grant(java.lang.Class, java.security.Principal[], java.security.Permission[])">grant</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cl,
+      <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;If this security policy provider supports dynamic permission grants,
+ grants the specified permissions to all protection domains (including
+ ones not yet created) that are associated with the class loader of the
+ given class and possess at least the given set of principals.</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/policy/DynamicPolicy.html#grantSupported()">grantSupported</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if this policy provider supports dynamic
+ permission grants; 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="grantSupported()"><!-- --></A><H3>
+grantSupported</H3>
+<PRE>
+boolean <B>grantSupported</B>()</PRE>
+<DL>
+<DD>Returns <code>true</code> if this policy provider supports dynamic
+ permission grants; returns <code>false</code> otherwise.  Note that this
+ method may return different values for a given
+ <code>DynamicPolicy</code> instance, depending on context.  For example,
+ a policy provider that delegates to different underlying policy
+ implementations depending on thread state would return <code>true</code>
+ from this method when the current delegate supports dynamic permission
+ grants, but return <code>false</code> when another delegate lacking such
+ support is in effect.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if policy supports dynamic permission grants
+                under current context, <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="grant(java.lang.Class, java.security.Principal[], java.security.Permission[])"><!-- --></A><H3>
+grant</H3>
+<PRE>
+void <B>grant</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cl,
+           <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>If this security policy provider supports dynamic permission grants,
+ grants the specified permissions to all protection domains (including
+ ones not yet created) that are associated with the class loader of the
+ given class and possess at least the given set of principals.  If the
+ given class is <code>null</code>, then the grant applies across all
+ protection domains that possess at least the specified principals.  If
+ the list of principals is <code>null</code> or empty, then principals
+ are effectively ignored in determining the protection domains to which
+ the grant applies.  If this policy provider does not support dynamic
+ permission grants, then no permissions are granted and an
+ <code>UnsupportedOperationException</code> is thrown.
+ <p>
+ The given class, if non-<code>null</code>, must belong to either the
+ system domain or a protection domain whose associated class loader is
+ non-<code>null</code>.  If the class does not belong to such a
+ protection domain, then no permissions are granted and an
+ <code>UnsupportedOperationException</code> is thrown.
+ <p>
+ If a security manager is installed, its <code>checkPermission</code>
+ method is called with a <code>GrantPermission</code> containing the
+ permissions to grant; if the permission check fails, then no permissions
+ are granted and the resulting <code>SecurityException</code> is thrown.
+ The principals and permissions arrays passed in are neither modified nor
+ retained; subsequent changes to the arrays have no effect on the grant
+ operation.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cl</CODE> - class to grant permissions to the class loader of, or
+                <code>null</code> if granting across all class loaders<DD><CODE>principals</CODE> - if non-<code>null</code>, minimum set of principals
+                to which grants apply<DD><CODE>permissions</CODE> - if non-<code>null</code>, permissions to grant
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang">UnsupportedOperationException</A></CODE> - if policy does not support
+          dynamic grants, or if <code>cl</code> is non-<code>null</code>
+          and belongs to a protection domain with a <code>null</code>
+          class loader other than the system domain
+<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 manager is installed and the
+          calling context does not have sufficient permissions to grant
+          the given permissions
+<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 the principals or
+          permissions arrays is <code>null</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGrants(java.lang.Class, java.security.Principal[])"><!-- --></A><H3>
+getGrants</H3>
+<PRE>
+<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>[] <B>getGrants</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cl,
+                       <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)</PRE>
+<DL>
+<DD>If this security policy provider supports dynamic permission grants,
+ returns a new array containing the cumulative set of permissions
+ dynamically granted to protection domains (including ones not yet
+ created) that are associated with the class loader of the given class
+ and possess at least the given set of principals.  If the given class is
+ <code>null</code>, then this method returns the cumulative set of
+ permissions dynamically granted across all protection domains that
+ possess at least the specified principals (i.e., through calls to the
+ grant method where the specified class was <code>null</code>).  If the
+ list of principals is <code>null</code> or empty, then the permissions
+ returned reflect only grants not qualified by principals (i.e., those
+ performed through calls to the grant method where the specified
+ principals array was <code>null</code> or empty).  If this policy
+ provider does not support dynamic permission grants, then an
+ <code>UnsupportedOperationException</code> is thrown.
+ <p>
+ The given class, if non-<code>null</code>, must belong to either the
+ system domain or a protection domain whose associated class loader is
+ non-<code>null</code>.  If the class does not belong to such a
+ protection domain, then an <code>UnsupportedOperationException</code> is
+ thrown.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cl</CODE> - class to query the permissions dynamically granted to the
+          class loader of, or <code>null</code> if querying permissions
+          granted across all class loaders<DD><CODE>principals</CODE> - if non-<code>null</code>, principals to query
+                dynamic grants for
+<DT><B>Returns:</B><DD>new array containing the permissions dynamically granted to the
+          indicated class loader (if any) and principals
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang">UnsupportedOperationException</A></CODE> - if policy does not support
+          dynamic grants, or if <code>cl</code> is non-<code>null</code>
+          and belongs to a protection domain with a <code>null</code>
+          class loader other than the system domain
+<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 the principals array 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/DynamicPolicy.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;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../net/jini/security/policy/DynamicPolicyProvider.html" title="class in net.jini.security.policy"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?net/jini/security/policy/DynamicPolicy.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DynamicPolicy.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/policy/DynamicPolicyProvider.html
URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/DynamicPolicyProvider.html?rev=1052612&view=auto
==============================================================================
--- incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/DynamicPolicyProvider.html (added)
+++ incubator/river/site/trunk/content/river/doc/api/net/jini/security/policy/DynamicPolicyProvider.html Fri Dec 24 20:45:37 2010
@@ -0,0 +1,568 @@
+<!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>
+DynamicPolicyProvider (Apache River v2.1.2-SNAPSHOT API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="net.jini.security.policy.DynamicPolicyProvider class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DynamicPolicyProvider (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/DynamicPolicyProvider.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/policy/DynamicPolicy.html" title="interface in net.jini.security.policy"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../net/jini/security/policy/PolicyFileProvider.html" title="class in net.jini.security.policy"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?net/jini/security/policy/DynamicPolicyProvider.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DynamicPolicyProvider.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.policy</FONT>
+<BR>
+Class DynamicPolicyProvider</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 "><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html" title="class or interface in java.security">java.security.Policy</A>
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>net.jini.security.policy.DynamicPolicyProvider</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../net/jini/security/policy/DynamicPolicy.html" title="interface in net.jini.security.policy">DynamicPolicy</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../com/sun/jini/tool/DebugDynamicPolicyProvider.html" title="class in com.sun.jini.tool">DebugDynamicPolicyProvider</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>DynamicPolicyProvider</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html" title="class or interface in java.security">Policy</A><DT>implements <A HREF="../../../../net/jini/security/policy/DynamicPolicy.html" title="interface in net.jini.security.policy">DynamicPolicy</A></DL>
+</PRE>
+
+<P>
+Security policy provider that supports dynamic granting of permissions at
+ run-time.  This provider is designed as a wrapper to layer dynamic grant
+ functionality on top of an underlying policy provider.  If the underlying
+ provider does not implement the <A HREF="../../../../net/jini/security/policy/DynamicPolicy.html" title="interface in net.jini.security.policy"><CODE>DynamicPolicy</CODE></A> interface, then its
+ permission mappings are assumed to change only when its <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#refresh()" title="class or interface in java.security"><CODE>refresh</CODE></A> method is called.  Permissions are granted on the
+ granularity of class loader; granting a permission requires (of the calling
+ context) <A HREF="../../../../net/jini/security/GrantPermission.html" title="class in net.jini.security"><CODE>GrantPermission</CODE></A> for that permission.
+<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>
+
+<!-- ======== 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/policy/DynamicPolicyProvider.html#DynamicPolicyProvider()">DynamicPolicyProvider</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <code>DynamicPolicyProvider</code> instance that wraps a
+ default underlying policy.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../net/jini/security/policy/DynamicPolicyProvider.html#DynamicPolicyProvider(java.security.Policy)">DynamicPolicyProvider</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html" title="class or interface in java.security">Policy</A>&nbsp;basePolicy)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <code>DynamicPolicyProvider</code> instance that wraps
+ around the given non-<code>null</code> base policy object.</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;<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>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/security/policy/DynamicPolicyProvider.html#getGrants(java.lang.Class, java.security.Principal[])">getGrants</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cl,
+          <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)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If this security policy provider supports dynamic permission grants,
+ returns a new array containing the cumulative set of permissions
+ dynamically granted to protection domains (including ones not yet
+ created) that are associated with the class loader of the given class
+ and possess at least the given set of principals.</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/security/PermissionCollection.html" title="class or interface in java.security">PermissionCollection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/security/policy/DynamicPolicyProvider.html#getPermissions(java.security.CodeSource)">getPermissions</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/CodeSource.html" title="class or interface in java.security">CodeSource</A>&nbsp;source)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Behaves as specified by <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#getPermissions(java.security.CodeSource)" title="class or interface in java.security"><CODE>Policy.getPermissions(CodeSource)</CODE></A>.</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/security/PermissionCollection.html" title="class or interface in java.security">PermissionCollection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/security/policy/DynamicPolicyProvider.html#getPermissions(java.security.ProtectionDomain)">getPermissions</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/ProtectionDomain.html" title="class or interface in java.security">ProtectionDomain</A>&nbsp;domain)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Behaves as specified by <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#getPermissions(java.security.ProtectionDomain)" title="class or interface in java.security"><CODE>Policy.getPermissions(ProtectionDomain)</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/security/policy/DynamicPolicyProvider.html#grant(java.lang.Class, java.security.Principal[], java.security.Permission[])">grant</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cl,
+      <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;If this security policy provider supports dynamic permission grants,
+ grants the specified permissions to all protection domains (including
+ ones not yet created) that are associated with the class loader of the
+ given class and possess at least the given set of principals.</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/policy/DynamicPolicyProvider.html#grantSupported()">grantSupported</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if this policy provider supports dynamic
+ permission grants; returns <code>false</code> otherwise.</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/policy/DynamicPolicyProvider.html#implies(java.security.ProtectionDomain, java.security.Permission)">implies</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/ProtectionDomain.html" title="class or interface in java.security">ProtectionDomain</A>&nbsp;domain,
+        <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;permission)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Behaves as specified by <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#implies(java.security.ProtectionDomain, java.security.Permission)" title="class or interface in java.security"><CODE>Policy.implies(java.security.ProtectionDomain, java.security.Permission)</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/security/policy/DynamicPolicyProvider.html#refresh()">refresh</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Behaves as specified by <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#refresh()" title="class or interface in java.security"><CODE>Policy.refresh()</CODE></A>.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.security.Policy"><!-- --></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.security.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html" title="class or interface in java.security">Policy</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#getPolicy()" title="class or interface in java.security">getPolicy</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#setPolicy(java.security.Policy)" title="class or interface in java.security">setPolicy</A></CODE></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#equals(java.lang.Object)" title="class or interface in java.lang">equals</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#hashCode()" title="class or interface in java.lang">hashCode</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#toString()" title="class or interface in java.lang">toString</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="DynamicPolicyProvider()"><!-- --></A><H3>
+DynamicPolicyProvider</H3>
+<PRE>
+public <B>DynamicPolicyProvider</B>()
+                      throws <A HREF="../../../../net/jini/security/policy/PolicyInitializationException.html" title="class in net.jini.security.policy">PolicyInitializationException</A></PRE>
+<DL>
+<DD>Creates a new <code>DynamicPolicyProvider</code> instance that wraps a
+ default underlying policy.  The underlying policy is created as follows:
+ if the
+ <code>net.jini.security.policy.DynamicPolicyProvider.basePolicyClass</code>
+ security property is set, then its value is interpreted as the class
+ name of the base (underlying) policy provider; otherwise, a default
+ class name of
+ <code>"net.jini.security.policy.PolicyFileProvider"</code>
+ is used.  The base policy is then instantiated using the no-arg public
+ constructor of the named class.  If the base policy class is not found,
+ is not instantiable via a public no-arg constructor, or if invocation of
+ its constructor fails, then a <code>PolicyInitializationException</code>
+ is thrown.
+ <p>
+ Note that this constructor requires the appropriate
+ <code>"getProperty"</code> <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/SecurityPermission.html" title="class or interface in java.security"><CODE>SecurityPermission</CODE></A> to
+ read the
+ <code>net.jini.security.policy.DynamicPolicyProvider.basePolicyClass</code>
+ security property, and may require <code>"accessClassInPackage.*"</code>
+ <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/RuntimePermission.html" title="class or interface in java.lang"><CODE>RuntimePermission</CODE></A>s, depending on the package of the base policy
+ class.
+<P>
+<DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../net/jini/security/policy/PolicyInitializationException.html" title="class in net.jini.security.policy">PolicyInitializationException</A></CODE> - if unable to construct the base
+          policy
+<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 there is a security manager and the
+          calling context does not have adequate permissions to read the
+          <code>net.jini.security.policy.DynamicPolicyProvider.basePolicyClass</code>
+          security property, or if the calling context does not have
+          adequate permissions to access the base policy class</DL>
+</DL>
+<HR>
+
+<A NAME="DynamicPolicyProvider(java.security.Policy)"><!-- --></A><H3>
+DynamicPolicyProvider</H3>
+<PRE>
+public <B>DynamicPolicyProvider</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html" title="class or interface in java.security">Policy</A>&nbsp;basePolicy)</PRE>
+<DL>
+<DD>Creates a new <code>DynamicPolicyProvider</code> instance that wraps
+ around the given non-<code>null</code> base policy object.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>basePolicy</CODE> - base policy object containing information about
+          non-dynamic grants
+<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>basePolicy</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="getPermissions(java.security.CodeSource)"><!-- --></A><H3>
+getPermissions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/PermissionCollection.html" title="class or interface in java.security">PermissionCollection</A> <B>getPermissions</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/CodeSource.html" title="class or interface in java.security">CodeSource</A>&nbsp;source)</PRE>
+<DL>
+<DD>Behaves as specified by <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#getPermissions(java.security.CodeSource)" title="class or interface in java.security"><CODE>Policy.getPermissions(CodeSource)</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#getPermissions(java.security.CodeSource)" title="class or interface in java.security">getPermissions</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html" title="class or interface in java.security">Policy</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPermissions(java.security.ProtectionDomain)"><!-- --></A><H3>
+getPermissions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/PermissionCollection.html" title="class or interface in java.security">PermissionCollection</A> <B>getPermissions</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/ProtectionDomain.html" title="class or interface in java.security">ProtectionDomain</A>&nbsp;domain)</PRE>
+<DL>
+<DD>Behaves as specified by <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#getPermissions(java.security.ProtectionDomain)" title="class or interface in java.security"><CODE>Policy.getPermissions(ProtectionDomain)</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#getPermissions(java.security.ProtectionDomain)" title="class or interface in java.security">getPermissions</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html" title="class or interface in java.security">Policy</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="implies(java.security.ProtectionDomain, java.security.Permission)"><!-- --></A><H3>
+implies</H3>
+<PRE>
+public boolean <B>implies</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/ProtectionDomain.html" title="class or interface in java.security">ProtectionDomain</A>&nbsp;domain,
+                       <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;permission)</PRE>
+<DL>
+<DD>Behaves as specified by <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#implies(java.security.ProtectionDomain, java.security.Permission)" title="class or interface in java.security"><CODE>Policy.implies(java.security.ProtectionDomain, java.security.Permission)</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#implies(java.security.ProtectionDomain, java.security.Permission)" title="class or interface in java.security">implies</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html" title="class or interface in java.security">Policy</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="refresh()"><!-- --></A><H3>
+refresh</H3>
+<PRE>
+public void <B>refresh</B>()</PRE>
+<DL>
+<DD>Behaves as specified by <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#refresh()" title="class or interface in java.security"><CODE>Policy.refresh()</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html#refresh()" title="class or interface in java.security">refresh</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Policy.html" title="class or interface in java.security">Policy</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="grantSupported()"><!-- --></A><H3>
+grantSupported</H3>
+<PRE>
+public boolean <B>grantSupported</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../net/jini/security/policy/DynamicPolicy.html#grantSupported()">DynamicPolicy</A></CODE></B></DD>
+<DD>Returns <code>true</code> if this policy provider supports dynamic
+ permission grants; returns <code>false</code> otherwise.  Note that this
+ method may return different values for a given
+ <code>DynamicPolicy</code> instance, depending on context.  For example,
+ a policy provider that delegates to different underlying policy
+ implementations depending on thread state would return <code>true</code>
+ from this method when the current delegate supports dynamic permission
+ grants, but return <code>false</code> when another delegate lacking such
+ support is in effect.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jini/security/policy/DynamicPolicy.html#grantSupported()">grantSupported</A></CODE> in interface <CODE><A HREF="../../../../net/jini/security/policy/DynamicPolicy.html" title="interface in net.jini.security.policy">DynamicPolicy</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if policy supports dynamic permission grants
+                under current context, <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="grant(java.lang.Class, java.security.Principal[], java.security.Permission[])"><!-- --></A><H3>
+grant</H3>
+<PRE>
+public void <B>grant</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cl,
+                  <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><B>Description copied from interface: <CODE><A HREF="../../../../net/jini/security/policy/DynamicPolicy.html#grant(java.lang.Class, java.security.Principal[], java.security.Permission[])">DynamicPolicy</A></CODE></B></DD>
+<DD>If this security policy provider supports dynamic permission grants,
+ grants the specified permissions to all protection domains (including
+ ones not yet created) that are associated with the class loader of the
+ given class and possess at least the given set of principals.  If the
+ given class is <code>null</code>, then the grant applies across all
+ protection domains that possess at least the specified principals.  If
+ the list of principals is <code>null</code> or empty, then principals
+ are effectively ignored in determining the protection domains to which
+ the grant applies.  If this policy provider does not support dynamic
+ permission grants, then no permissions are granted and an
+ <code>UnsupportedOperationException</code> is thrown.
+ <p>
+ The given class, if non-<code>null</code>, must belong to either the
+ system domain or a protection domain whose associated class loader is
+ non-<code>null</code>.  If the class does not belong to such a
+ protection domain, then no permissions are granted and an
+ <code>UnsupportedOperationException</code> is thrown.
+ <p>
+ If a security manager is installed, its <code>checkPermission</code>
+ method is called with a <code>GrantPermission</code> containing the
+ permissions to grant; if the permission check fails, then no permissions
+ are granted and the resulting <code>SecurityException</code> is thrown.
+ The principals and permissions arrays passed in are neither modified nor
+ retained; subsequent changes to the arrays have no effect on the grant
+ operation.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jini/security/policy/DynamicPolicy.html#grant(java.lang.Class, java.security.Principal[], java.security.Permission[])">grant</A></CODE> in interface <CODE><A HREF="../../../../net/jini/security/policy/DynamicPolicy.html" title="interface in net.jini.security.policy">DynamicPolicy</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cl</CODE> - class to grant permissions to the class loader of, or
+                <code>null</code> if granting across all class loaders<DD><CODE>principals</CODE> - if non-<code>null</code>, minimum set of principals
+                to which grants apply<DD><CODE>permissions</CODE> - if non-<code>null</code>, permissions to grant</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGrants(java.lang.Class, java.security.Principal[])"><!-- --></A><H3>
+getGrants</H3>
+<PRE>
+public <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>[] <B>getGrants</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cl,
+                              <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)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../net/jini/security/policy/DynamicPolicy.html#getGrants(java.lang.Class, java.security.Principal[])">DynamicPolicy</A></CODE></B></DD>
+<DD>If this security policy provider supports dynamic permission grants,
+ returns a new array containing the cumulative set of permissions
+ dynamically granted to protection domains (including ones not yet
+ created) that are associated with the class loader of the given class
+ and possess at least the given set of principals.  If the given class is
+ <code>null</code>, then this method returns the cumulative set of
+ permissions dynamically granted across all protection domains that
+ possess at least the specified principals (i.e., through calls to the
+ grant method where the specified class was <code>null</code>).  If the
+ list of principals is <code>null</code> or empty, then the permissions
+ returned reflect only grants not qualified by principals (i.e., those
+ performed through calls to the grant method where the specified
+ principals array was <code>null</code> or empty).  If this policy
+ provider does not support dynamic permission grants, then an
+ <code>UnsupportedOperationException</code> is thrown.
+ <p>
+ The given class, if non-<code>null</code>, must belong to either the
+ system domain or a protection domain whose associated class loader is
+ non-<code>null</code>.  If the class does not belong to such a
+ protection domain, then an <code>UnsupportedOperationException</code> is
+ thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jini/security/policy/DynamicPolicy.html#getGrants(java.lang.Class, java.security.Principal[])">getGrants</A></CODE> in interface <CODE><A HREF="../../../../net/jini/security/policy/DynamicPolicy.html" title="interface in net.jini.security.policy">DynamicPolicy</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cl</CODE> - class to query the permissions dynamically granted to the
+          class loader of, or <code>null</code> if querying permissions
+          granted across all class loaders<DD><CODE>principals</CODE> - if non-<code>null</code>, principals to query
+                dynamic grants for
+<DT><B>Returns:</B><DD>new array containing the permissions dynamically granted to the
+          indicated class loader (if any) and principals</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/DynamicPolicyProvider.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/policy/DynamicPolicy.html" title="interface in net.jini.security.policy"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../net/jini/security/policy/PolicyFileProvider.html" title="class in net.jini.security.policy"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?net/jini/security/policy/DynamicPolicyProvider.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DynamicPolicyProvider.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>