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:32:08 UTC

svn commit: r1052595 [1/11] - in /incubator/river/site/trunk/content/river/doc/api/net/jini/jeri: ./ class-use/ connection/ http/ kerberos/ ssl/ tcp/

Author: sijskes
Date: Fri Dec 24 20:32:07 2010
New Revision: 1052595

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

Added:
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/AbstractILFactory.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/BasicILFactory.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/BasicInvocationDispatcher.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/BasicInvocationHandler.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/BasicJeriExporter.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/BasicJeriTrustVerifier.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/BasicObjectEndpoint.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/Endpoint.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/InboundRequest.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/InvocationDispatcher.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/InvocationLayerFactory.Instances.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/InvocationLayerFactory.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/ObjectEndpoint.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/OutboundRequest.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/OutboundRequestIterator.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/ProxyTrustILFactory.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/RequestDispatcher.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/ServerCapabilities.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/ServerEndpoint.ListenContext.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/ServerEndpoint.ListenCookie.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/ServerEndpoint.ListenEndpoint.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/ServerEndpoint.ListenHandle.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/ServerEndpoint.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/class-use/
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/connection/
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/kerberos/
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/package-frame.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/package-summary.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/package-tree.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/package-use.html
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/ssl/
    incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/tcp/

Added: incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/AbstractILFactory.html
URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/AbstractILFactory.html?rev=1052595&view=auto
==============================================================================
--- incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/AbstractILFactory.html (added)
+++ incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/AbstractILFactory.html Fri Dec 24 20:32:07 2010
@@ -0,0 +1,801 @@
+<!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:18 EST 2010 -->
+<TITLE>
+AbstractILFactory (Apache River v2.1.2-SNAPSHOT API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="net.jini.jeri.AbstractILFactory class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractILFactory (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/AbstractILFactory.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/jeri/BasicILFactory.html" title="class in net.jini.jeri"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?net/jini/jeri/AbstractILFactory.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AbstractILFactory.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.jeri</FONT>
+<BR>
+Class AbstractILFactory</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.jeri.AbstractILFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../net/jini/jeri/InvocationLayerFactory.html" title="interface in net.jini.jeri">InvocationLayerFactory</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../net/jini/jeri/BasicILFactory.html" title="class in net.jini.jeri">BasicILFactory</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public abstract class <B>AbstractILFactory</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/jeri/InvocationLayerFactory.html" title="interface in net.jini.jeri">InvocationLayerFactory</A></DL>
+</PRE>
+
+<P>
+An abstract implementation of <A HREF="../../../net/jini/jeri/InvocationLayerFactory.html" title="interface in net.jini.jeri"><CODE>InvocationLayerFactory</CODE></A> that
+ provides a convenient way for subclasses to create proxies and
+ invocation dispatchers for remote objects.  A subclass must provide an
+ implementation for at least the <A HREF="../../../net/jini/jeri/AbstractILFactory.html#createInvocationHandler(java.lang.Class[], java.rmi.Remote, net.jini.jeri.ObjectEndpoint)"><CODE>createInvocationHandler</CODE></A> and <A HREF="../../../net/jini/jeri/AbstractILFactory.html#createInvocationDispatcher(java.util.Collection, java.rmi.Remote, net.jini.jeri.ServerCapabilities)"><CODE>createInvocationDispatcher</CODE></A> methods.  A subclass can override the
+ <A HREF="../../../net/jini/jeri/AbstractILFactory.html#getProxyInterfaces(java.rmi.Remote)"><CODE>getProxyInterfaces</CODE></A> method if its proxies
+ need to implement a different set of interfaces than the default
+ set (all remote interfaces of the remote object).
+<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>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_net.jini.jeri.InvocationLayerFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface net.jini.jeri.<A HREF="../../../net/jini/jeri/InvocationLayerFactory.html" title="interface in net.jini.jeri">InvocationLayerFactory</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../net/jini/jeri/InvocationLayerFactory.Instances.html" title="class in net.jini.jeri">InvocationLayerFactory.Instances</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<!-- ======== 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 ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/jeri/AbstractILFactory.html#AbstractILFactory()">AbstractILFactory</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an <code>AbstractILFactory</code> instance with a
+ <code>null</code> class loader.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/jeri/AbstractILFactory.html#AbstractILFactory(java.lang.ClassLoader)">AbstractILFactory</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)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an <code>AbstractILFactory</code> instance with the
+ specified class loader.</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="../../../net/jini/jeri/InvocationLayerFactory.Instances.html" title="class in net.jini.jeri">InvocationLayerFactory.Instances</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/jeri/AbstractILFactory.html#createInstances(java.rmi.Remote, net.jini.jeri.ObjectEndpoint, net.jini.jeri.ServerCapabilities)">createInstances</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl,
+                <A HREF="../../../net/jini/jeri/ObjectEndpoint.html" title="interface in net.jini.jeri">ObjectEndpoint</A>&nbsp;oe,
+                <A HREF="../../../net/jini/jeri/ServerCapabilities.html" title="interface in net.jini.jeri">ServerCapabilities</A>&nbsp;caps)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a compatible proxy and invocation dispatcher for a remote
+ object being exported.
+
+ <code>AbstractILFactory</code> implements this method to return a
+ <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/Proxy.html" title="class or interface in java.lang.reflect"><CODE>Proxy</CODE></A> instance where:
+ 
+
+ If the class loader specified during construction is not
+ <code>null</code>, the proxy's class is defined by the specified
+ loader.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract &nbsp;<A HREF="../../../net/jini/jeri/InvocationDispatcher.html" title="interface in net.jini.jeri">InvocationDispatcher</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/jeri/AbstractILFactory.html#createInvocationDispatcher(java.util.Collection, java.rmi.Remote, net.jini.jeri.ServerCapabilities)">createInvocationDispatcher</A></B>(<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>&nbsp;methods,
+                           <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl,
+                           <A HREF="../../../net/jini/jeri/ServerCapabilities.html" title="interface in net.jini.jeri">ServerCapabilities</A>&nbsp;caps)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an invocation dispatcher to receive incoming remote calls
+ for the specified methods to the specified remote object, for a
+ server and transport with the specified capabilities.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract &nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/InvocationHandler.html" title="class or interface in java.lang.reflect">InvocationHandler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/jeri/AbstractILFactory.html#createInvocationHandler(java.lang.Class[], java.rmi.Remote, net.jini.jeri.ObjectEndpoint)">createInvocationHandler</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;interfaces,
+                        <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl,
+                        <A HREF="../../../net/jini/jeri/ObjectEndpoint.html" title="interface in net.jini.jeri">ObjectEndpoint</A>&nbsp;oe)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an invocation handler to use with a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/Proxy.html" title="class or interface in java.lang.reflect"><CODE>Proxy</CODE></A> instance
+ implementing the specified interfaces, communicating with the
+ specified remote object using the specified object endpoint.</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/jeri/AbstractILFactory.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;Compares the specified object with this invocation layer factory for
+ equality.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &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/jeri/AbstractILFactory.html#getClassLoader()">getClassLoader</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the class loader specified during construction.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<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>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/jeri/AbstractILFactory.html#getExtraProxyInterfaces(java.rmi.Remote)">getExtraProxyInterfaces</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new array containing any additional interfaces that the
+ proxy should implement, beyond the interfaces obtained by passing
+ <code>impl</code> to the <A HREF="../../../net/jini/jeri/AbstractILFactory.html#getRemoteInterfaces(java.rmi.Remote)"><CODE>getRemoteInterfaces</CODE></A> method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &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/jeri/AbstractILFactory.html#getInvocationDispatcherMethods(java.rmi.Remote)">getInvocationDispatcherMethods</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new, modifiable collection of <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect"><CODE>Method</CODE></A> objects,
+ containing all remote methods for which the invocation
+ dispatcher should accept incoming remote calls.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<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>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/jeri/AbstractILFactory.html#getProxyInterfaces(java.rmi.Remote)">getProxyInterfaces</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new array containing the interfaces for the proxy to
+ implement.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<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>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/jeri/AbstractILFactory.html#getRemoteInterfaces(java.rmi.Remote)">getRemoteInterfaces</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new array containing the remote interfaces that should be
+ implemented by the proxy.</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/jeri/AbstractILFactory.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a hash code value for this factory.</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/jeri/AbstractILFactory.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a string representation for this factory.</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="AbstractILFactory()"><!-- --></A><H3>
+AbstractILFactory</H3>
+<PRE>
+protected <B>AbstractILFactory</B>()</PRE>
+<DL>
+<DD>Constructs an <code>AbstractILFactory</code> instance with a
+ <code>null</code> class loader.
+<P>
+</DL>
+<HR>
+
+<A NAME="AbstractILFactory(java.lang.ClassLoader)"><!-- --></A><H3>
+AbstractILFactory</H3>
+<PRE>
+protected <B>AbstractILFactory</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)</PRE>
+<DL>
+<DD>Constructs an <code>AbstractILFactory</code> instance with the
+ specified class loader.  The <A HREF="../../../net/jini/jeri/AbstractILFactory.html#createInstances(java.rmi.Remote, net.jini.jeri.ObjectEndpoint, net.jini.jeri.ServerCapabilities)"><CODE>createInstances</CODE></A> method uses the specified loader to define a proxy
+ class.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>loader</CODE> - the class loader, or <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="getClassLoader()"><!-- --></A><H3>
+getClassLoader</H3>
+<PRE>
+protected final <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 specified during construction.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the class loader</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProxyInterfaces(java.rmi.Remote)"><!-- --></A><H3>
+getProxyInterfaces</H3>
+<PRE>
+protected <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>[] <B>getProxyInterfaces</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl)
+                              throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></PRE>
+<DL>
+<DD>Returns a new array containing the interfaces for the proxy to
+ implement.
+
+ <p><code>AbstractILFactory</code> implements this method to return
+ an array containing all of the interfaces obtained by passing
+ <code>impl</code> to the <A HREF="../../../net/jini/jeri/AbstractILFactory.html#getRemoteInterfaces(java.rmi.Remote)"><CODE>getRemoteInterfaces</CODE></A> method plus the interfaces obtained by calling
+ the <A HREF="../../../net/jini/jeri/AbstractILFactory.html#getExtraProxyInterfaces(java.rmi.Remote)"><CODE>getExtraProxyInterfaces</CODE></A> method,
+ in that order, with duplicate interfaces (that is, duplicates after
+ the first occurrence of an interface) eliminated.
+
+ <p>A subclass can override this method if its proxies need to
+ implement a different set of interfaces than the default.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>impl</CODE> - the remote object
+<DT><B>Returns:</B><DD>the proxy interfaces
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></CODE> - if there is a problem obtaining the
+                proxy interfaces or if <code>impl</code> does not satisfy
+                the requirements of this factory
+<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>impl</code> is <code>null</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRemoteInterfaces(java.rmi.Remote)"><!-- --></A><H3>
+getRemoteInterfaces</H3>
+<PRE>
+protected <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>[] <B>getRemoteInterfaces</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl)
+                               throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></PRE>
+<DL>
+<DD>Returns a new array containing the remote interfaces that should be
+ implemented by the proxy.  All of the methods of a remote interface
+ are implemented as remote invocations, so all of the methods must
+ declare <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/RemoteException.html" title="class or interface in java.rmi"><CODE>RemoteException</CODE></A> or one of its superclasses
+ in their <code>throws</code> clauses.
+
+ <p><code>AbstractILFactory</code> implements this method to return
+ an array containing the following ordered list of interfaces:
+
+ <ul><li>for each superclass of <code>impl's</code> class starting
+ with <code>java.lang.Object</code> and following with each direct
+ subclass to the direct superclass of <code>impl</code>'s class, all
+ of the direct superinterfaces of the given superclass that extend
+ <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi"><CODE>Remote</CODE></A> and that do not appear previously in the list, in
+ declaration order (the order in which they are declared in the
+ class's <code>implements</code> clause), followed by
+ 
+ <li>all of the direct superinterfaces of <code>impl</code>'s
+ class that extend <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi"><CODE>Remote</CODE></A> and that do not appear previously
+ in the list, in declaration order.
+ </ul>
+
+ and throws an <code>ExportException</code> if any method of those
+ interfaces does not have a conforming <code>throws</code> clause.
+
+ <p>A subclass can override this method if its proxies need a
+ set of remote interfaces other than the default.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>impl</CODE> - the remote object
+<DT><B>Returns:</B><DD>the remote interfaces implemented by <code>impl</code>
+<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>impl</code> is <code>null</code>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></CODE> - if there is a problem obtaining the remote
+                interfaces or if <code>impl</code> does not satisfy the
+                requirements of this factory</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExtraProxyInterfaces(java.rmi.Remote)"><!-- --></A><H3>
+getExtraProxyInterfaces</H3>
+<PRE>
+protected <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>[] <B>getExtraProxyInterfaces</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl)
+                                   throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></PRE>
+<DL>
+<DD>Returns a new array containing any additional interfaces that the
+ proxy should implement, beyond the interfaces obtained by passing
+ <code>impl</code> to the <A HREF="../../../net/jini/jeri/AbstractILFactory.html#getRemoteInterfaces(java.rmi.Remote)"><CODE>getRemoteInterfaces</CODE></A> method.
+
+ <p><code>AbstractILFactory</code> implements this method to return
+ an array containing the <A HREF="../../../net/jini/core/constraint/RemoteMethodControl.html" title="interface in net.jini.core.constraint"><CODE>RemoteMethodControl</CODE></A> interface.
+
+ <p>A subclass can override this method if its proxies need
+ to implement a different set of extra interfaces than the default.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>impl</CODE> - the remote object
+<DT><B>Returns:</B><DD>the extra proxy interfaces
+<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>impl</code> is <code>null</code>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></CODE> - if there is a problem obtaining the additional
+                interfaces or if <code>impl</code> does not satisfy the
+                requirements of this factory</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInvocationDispatcherMethods(java.rmi.Remote)"><!-- --></A><H3>
+getInvocationDispatcherMethods</H3>
+<PRE>
+protected <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>getInvocationDispatcherMethods</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl)
+                                             throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></PRE>
+<DL>
+<DD>Returns a new, modifiable collection of <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect"><CODE>Method</CODE></A> objects,
+ containing all remote methods for which the invocation
+ dispatcher should accept incoming remote calls.
+
+ <p><code>AbstractILFactory</code> implements this method to return a
+ <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html" title="class or interface in java.util"><CODE>Set</CODE></A> containing all of the methods of the interfaces obtained
+ by passing <code>impl</code> to the <A HREF="../../../net/jini/jeri/AbstractILFactory.html#getRemoteInterfaces(java.rmi.Remote)"><CODE>getRemoteInterfaces</CODE></A> method and satisfying the following
+ requirements:
+
+ <ul>
+ <li>No duplicate methods with the same signature and return
+ type are contained in the set returned.  If the interfaces contain
+ more than one method with the same signature and return type, the
+ method in the returned collection will be a member of the foremost
+ of the interfaces that contains a method with that signature and
+ return type.
+
+ <li>For each interface, if a security manager exists, its
+ <code>checkPackageAccess</code> method is invoked with the package
+ name of the interface; this invocation may throw a
+ <code>SecurityException</code>.
+
+ <li>For each interface, if the interface is non-public and a
+ security manager exists, the security manager's
+ <code>checkPermission</code> method is invoked with the permission
+ (@link ExportPermission} constructed with the string
+ "exportRemoteInterface." concatenated with the fully qualified
+ interface name; this invocation may throw a
+ <code>SecurityException</code>.  If the security check passes, each
+ <code>Method</code> object of the non-public interface has its
+ accessibility flag set to suppress language access checks.
+ </ul>
+
+ <p>A subclass can override this method if it needs to control the
+ selection of the set of methods for the dispatcher to handle, or if
+ it needs to control the implementation of the collection returned.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>impl</CODE> - the remote object
+<DT><B>Returns:</B><DD>the remote methods
+<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>impl</code> is <code>null</code>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></CODE> - if there is a problem obtaining the remote
+                methods or if <code>impl</code> does not satisfy the
+                requirements of this factory</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createInvocationHandler(java.lang.Class[], java.rmi.Remote, net.jini.jeri.ObjectEndpoint)"><!-- --></A><H3>
+createInvocationHandler</H3>
+<PRE>
+protected abstract <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/InvocationHandler.html" title="class or interface in java.lang.reflect">InvocationHandler</A> <B>createInvocationHandler</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;interfaces,
+                                                             <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl,
+                                                             <A HREF="../../../net/jini/jeri/ObjectEndpoint.html" title="interface in net.jini.jeri">ObjectEndpoint</A>&nbsp;oe)
+                                                      throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></PRE>
+<DL>
+<DD>Returns an invocation handler to use with a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/Proxy.html" title="class or interface in java.lang.reflect"><CODE>Proxy</CODE></A> instance
+ implementing the specified interfaces, communicating with the
+ specified remote object using the specified object endpoint.
+
+ <p>A subclass must override this method to create an
+ <code>InvocationHandler</code> for the specified interfaces, remote
+ object, and object endpoint.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>interfaces</CODE> - an array of proxy interfaces<DD><CODE>impl</CODE> - a remote object this invocation handler
+                is being created for<DD><CODE>oe</CODE> - an object endpoint used to communicate with
+                the remote object
+<DT><B>Returns:</B><DD>the invocation handler for the remote object's proxy
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></CODE> - if there is a problem creating the
+                invocation handler
+<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>,
+                or if <code>interfaces</code> contains a <code>null</code>
+                element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createInvocationDispatcher(java.util.Collection, java.rmi.Remote, net.jini.jeri.ServerCapabilities)"><!-- --></A><H3>
+createInvocationDispatcher</H3>
+<PRE>
+protected abstract <A HREF="../../../net/jini/jeri/InvocationDispatcher.html" title="interface in net.jini.jeri">InvocationDispatcher</A> <B>createInvocationDispatcher</B>(<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>&nbsp;methods,
+                                                                   <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl,
+                                                                   <A HREF="../../../net/jini/jeri/ServerCapabilities.html" title="interface in net.jini.jeri">ServerCapabilities</A>&nbsp;caps)
+                                                            throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></PRE>
+<DL>
+<DD>Returns an invocation dispatcher to receive incoming remote calls
+ for the specified methods to the specified remote object, for a
+ server and transport with the specified capabilities.
+
+ <p>A subclass must override this method to create an
+ <code>InvocationDispatcher</code> for the specified methods, remote
+ object, and server capabilities.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>methods</CODE> - a collection of <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect"><CODE>Method</CODE></A> instances for the
+                remote methods<DD><CODE>impl</CODE> - a remote object that the dispatcher is being created for<DD><CODE>caps</CODE> - the transport capabilities of the server
+<DT><B>Returns:</B><DD>the invocation dispatcher for the remote object
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></CODE> - if there is a problem creating the
+                dispatcher
+<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 <code>methods</code> contains
+                an element that is not a <code>Method</code> instance
+<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>,
+                or if <code>methods</code> contains a <code>null</code> element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createInstances(java.rmi.Remote, net.jini.jeri.ObjectEndpoint, net.jini.jeri.ServerCapabilities)"><!-- --></A><H3>
+createInstances</H3>
+<PRE>
+public <A HREF="../../../net/jini/jeri/InvocationLayerFactory.Instances.html" title="class in net.jini.jeri">InvocationLayerFactory.Instances</A> <B>createInstances</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Remote.html" title="class or interface in java.rmi">Remote</A>&nbsp;impl,
+                                                        <A HREF="../../../net/jini/jeri/ObjectEndpoint.html" title="interface in net.jini.jeri">ObjectEndpoint</A>&nbsp;oe,
+                                                        <A HREF="../../../net/jini/jeri/ServerCapabilities.html" title="interface in net.jini.jeri">ServerCapabilities</A>&nbsp;caps)
+                                                 throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></PRE>
+<DL>
+<DD>Returns a compatible proxy and invocation dispatcher for a remote
+ object being exported.  The proxy and invocation dispatcher are
+ returned in an <A HREF="../../../net/jini/jeri/InvocationLayerFactory.Instances.html" title="class in net.jini.jeri"><CODE>InvocationLayerFactory.Instances</CODE></A> container object.  The proxy sends
+ calls to the remote object using the supplied
+ <code>ObjectEndpoint</code>.
+
+ <p>The returned proxy implements an implementation-specific set of
+ remote interfaces of <code>impl</code> and may implement additional
+ implementation-specific interfaces.
+
+ <p>A given <A HREF="../../../net/jini/export/Exporter.html" title="interface in net.jini.export"><CODE>Exporter</CODE></A> implementation should only call this
+ method once per export.  An invocation dispatcher constructed for a
+ previous export should not be reused.
+
+ <p><code>AbstractILFactory</code> implements this method to return a
+ <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/reflect/Proxy.html" title="class or interface in java.lang.reflect"><CODE>Proxy</CODE></A> instance where:
+ <ul>
+
+ <li>If the class loader specified during construction is not
+ <code>null</code>, the proxy's class is defined by the specified
+ loader.  Otherwise, if a security manager exists, its <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/SecurityManager.html#checkPermission(java.security.Permission)" title="class or interface in java.lang"><CODE>checkPermission</CODE></A> method is invoked
+ with the <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>("getClassLoader")</code>
+ permission; this invocation may throw a
+ <code>SecurityException</code>.  If the above security check
+ succeeds, the proxy's class is defined by the class loader of
+ <code>impl</code>'s class.
+
+ <li>The proxy implements the set of interfaces obtained by calling
+ the <A HREF="../../../net/jini/jeri/AbstractILFactory.html#getProxyInterfaces(java.rmi.Remote)"><CODE>getProxyInterfaces</CODE></A> method, passing
+ <code>impl</code> as the argument.  If a security manager exists,
+ for each interface returned from the <code>getProxyInterfaces</code>
+ method,  the security manager's <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/SecurityManager.html#checkPackageAccess(java.lang.String)" title="class or interface in java.lang"><CODE>checkPackageAccess</CODE></A> method is
+ invoked with the package name of the interface. Such an invocation
+ may throw a <code>SecurityException</code>.
+
+ <li>The invocation handler of the proxy instance is obtained by calling
+ the <A HREF="../../../net/jini/jeri/AbstractILFactory.html#createInvocationHandler(java.lang.Class[], java.rmi.Remote, net.jini.jeri.ObjectEndpoint)"><CODE>createInvocationHandler</CODE></A> method,
+ passing the proxy interfaces (as above), <code>impl</code>, and
+ <code>oe</code> as arguments. 
+ </ul>
+
+ <p>The returned invocation dispatcher is obtained by calling the
+ <A HREF="../../../net/jini/jeri/AbstractILFactory.html#createInvocationDispatcher(java.util.Collection, java.rmi.Remote, net.jini.jeri.ServerCapabilities)"><CODE>createInvocationDispatcher</CODE></A>
+ method, passing a collection of methods, <code>impl</code>, and
+ <code>caps</code> as arguments. The collection of methods is
+ obtained by calling the <A HREF="../../../net/jini/jeri/AbstractILFactory.html#getInvocationDispatcherMethods(java.rmi.Remote)"><CODE>getInvocationDispatcherMethods</CODE></A> method, passing <code>impl</code> as
+ the argument.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../net/jini/jeri/InvocationLayerFactory.html#createInstances(java.rmi.Remote, net.jini.jeri.ObjectEndpoint, net.jini.jeri.ServerCapabilities)">createInstances</A></CODE> in interface <CODE><A HREF="../../../net/jini/jeri/InvocationLayerFactory.html" title="interface in net.jini.jeri">InvocationLayerFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>impl</CODE> - the remote object that the proxy is being
+                created for<DD><CODE>oe</CODE> - the object endpoint used to communicate with
+                the remote object<DD><CODE>caps</CODE> - the transport capabilities of the server
+<DT><B>Returns:</B><DD>a proxy and invocation dispatcher contained in an
+                <code>Instances</code> object
+<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 argument is <code>null</code>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/ExportException.html" title="class or interface in java.rmi.server">ExportException</A></CODE> - if there is a problem creating the proxy or
+                dispatcher</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 factory.
+<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>
+<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>Compares the specified object with this invocation layer factory for
+ equality.
+
+ <p><code>AbstractILFactory</code> implements this method to return
+ <code>true</code> if and only if the specified object has the same
+ class as this object and the loader in the specified object is equal
+ to the loader in this object.
+
+ <p>A subclass should override this method if it adds instance state
+ that affects equality.
+<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="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 for this factory.
+<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>
+<!-- ========= 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/AbstractILFactory.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/jeri/BasicILFactory.html" title="class in net.jini.jeri"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?net/jini/jeri/AbstractILFactory.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AbstractILFactory.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>