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

svn commit: r781466 [1/3] - /websites/staging/river/trunk/content/river/doc/api/net/jini/io/

Author: buildbot
Date: Fri Dec 24 20:28:29 2010
New Revision: 781466

Log:
Staging update by buildbot

Added:
    websites/staging/river/trunk/content/river/doc/api/net/jini/io/
    websites/staging/river/trunk/content/river/doc/api/net/jini/io/MarshalInputStream.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/io/MarshalOutputStream.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/io/MarshalledInstance.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/io/ObjectStreamContext.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/io/UnsupportedConstraintException.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/io/package-frame.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/io/package-summary.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/io/package-tree.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/io/package-use.html

Added: websites/staging/river/trunk/content/river/doc/api/net/jini/io/MarshalInputStream.html
==============================================================================
--- websites/staging/river/trunk/content/river/doc/api/net/jini/io/MarshalInputStream.html (added)
+++ websites/staging/river/trunk/content/river/doc/api/net/jini/io/MarshalInputStream.html Fri Dec 24 20:28:29 2010
@@ -0,0 +1,636 @@
+<!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:17 EST 2010 -->
+<TITLE>
+MarshalInputStream (Apache River v2.1.2-SNAPSHOT API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="net.jini.io.MarshalInputStream class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="MarshalInputStream (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/MarshalInputStream.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/io/MarshalledInstance.html" title="class in net.jini.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?net/jini/io/MarshalInputStream.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MarshalInputStream.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.io.ObjectInputStream">NESTED</A>&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.io</FONT>
+<BR>
+Class MarshalInputStream</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/io/InputStream.html" title="class or interface in java.io">java.io.InputStream</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html" title="class or interface in java.io">java.io.ObjectInputStream</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>net.jini.io.MarshalInputStream</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Closeable.html" title="class or interface in java.io">Closeable</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/DataInput.html" title="class or interface in java.io">DataInput</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInput.html" title="class or interface in java.io">ObjectInput</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html" title="class or interface in java.io">ObjectStreamConstants</A>, <A HREF="../../../net/jini/io/ObjectStreamContext.html" title="interface in net.jini.io">ObjectStreamContext</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>MarshalInputStream</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html" title="class or interface in java.io">ObjectInputStream</A><DT>implements <A HREF="../../../net/jini/io/ObjectStreamContext.html" title="interface in net.jini.io">ObjectStreamContext</A></DL>
+</PRE>
+
+<P>
+An extension of <code>ObjectInputStream</code> that implements the
+ dynamic class loading semantics of Java(TM) Remote Method
+ Invocation (Java RMI) argument and result
+ unmarshalling (using <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/RMIClassLoader.html" title="class or interface in java.rmi.server"><CODE>RMIClassLoader</CODE></A>).  A
+ <code>MarshalInputStream</code> is intended to read data written by
+ a corresponding <A HREF="../../../net/jini/io/MarshalOutputStream.html" title="class in net.jini.io"><CODE>MarshalOutputStream</CODE></A>.
+
+ <p><code>MarshalInputStream</code> implements the input side of the
+ dynamic class loading semantics by overriding <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#resolveClass(java.io.ObjectStreamClass)" title="class or interface in java.io"><CODE>resolveClass</CODE></A> and <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#resolveProxyClass(java.lang.String[])" title="class or interface in java.io"><CODE>resolveProxyClass</CODE></A> to resolve
+ class descriptors in the stream using <A HREF="../../../net/jini/loader/ClassLoading.html#loadClass(java.lang.String, java.lang.String, java.lang.ClassLoader, boolean, java.lang.ClassLoader)"><CODE>ClassLoading.loadClass</CODE></A> and <A HREF="../../../net/jini/loader/ClassLoading.html#loadProxyClass(java.lang.String, java.lang.String[], java.lang.ClassLoader, boolean, java.lang.ClassLoader)"><CODE>ClassLoading.loadProxyClass</CODE></A> (which, in turn, use <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/RMIClassLoader.html#loadClass(java.lang.String, java.lang.String, java.lang.ClassLoader)" title="class or interface in java.rmi.server"><CODE>RMIClassLoader.loadClass</CODE></A> and <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/server/RMIClassLoader.html#loadProxyClass(java.lang.String, java.lang.String[], java.lang.ClassLoader)" title="class or interface in java.rmi.server"><CODE>RMIClassLoader.loadProxyClass</CODE></A>), optionally with codeb
 ase
+ annotation strings written by a <code>MarshalOutputStream</code>.
+
+ <p>By default, a <code>MarshalInputStream</code> ignores all
+ codebase annotation strings, instead using a codebase value of
+ <code>null</code> when loading classes.  Codebase annotation
+ strings will only be used by a <code>MarshalInputStream</code>
+ after its <A HREF="../../../net/jini/io/MarshalInputStream.html#useCodebaseAnnotations()"><CODE>useCodebaseAnnotations</CODE></A>
+ method has been invoked.
+
+ <p><code>MarshalInputStream</code> supports optional verification
+ that all codebase annotation URLs that are used to load classes
+ resolved by the stream provide content integrity (see <A HREF="../../../net/jini/security/Security.html#verifyCodebaseIntegrity(java.lang.String, java.lang.ClassLoader)"><CODE>Security.verifyCodebaseIntegrity</CODE></A>).  Whether or not a particular
+ <code>MarshalInputStream</code> instance verifies that codebase
+ annotation URLs provide content integrity is determined by the
+ <code>verifyCodebaseIntegrity</code> constructor argument.  See
+ <A HREF="../../../net/jini/loader/ClassLoading.html#loadClass(java.lang.String, java.lang.String, java.lang.ClassLoader, boolean, java.lang.ClassLoader)"><CODE>ClassLoading.loadClass</CODE></A> and <A HREF="../../../net/jini/loader/ClassLoading.html#loadProxyClass(java.lang.String, java.lang.String[], java.lang.ClassLoader, boolean, java.lang.ClassLoader)"><CODE>ClassLoading.loadProxyClass</CODE></A> for
+ details of how codebase integrity verification is performed.
+
+ <p><code>MarshalInputStream</code> reads class annotations from its
+ own stream; a subclass can override the <A HREF="../../../net/jini/io/MarshalInputStream.html#readAnnotation()"><CODE>readAnnotation</CODE></A> method to read the class annotations from a
+ different location.
+
+ <p>A <code>MarshalInputStream</code> is not guaranteed to be
+ safe for concurrent use by multiple threads.
+<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_java.io.ObjectInputStream"><!-- --></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 class java.io.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html" title="class or interface in java.io">ObjectInputStream</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.GetField.html" title="class or interface in java.io">ObjectInputStream.GetField</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_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>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.io.ObjectStreamConstants"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface java.io.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html" title="class or interface in java.io">ObjectStreamConstants</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#baseWireHandle" title="class or interface in java.io">baseWireHandle</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#PROTOCOL_VERSION_1" title="class or interface in java.io">PROTOCOL_VERSION_1</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#PROTOCOL_VERSION_2" title="class or interface in java.io">PROTOCOL_VERSION_2</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#SC_BLOCK_DATA" title="class or interface in java.io">SC_BLOCK_DATA</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#SC_ENUM" title="class or interface in java.io">SC_ENUM</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#SC_EXTERNALIZABLE" title="class or interface in java.io">SC_EXTERNALIZABLE</A>, <A HREF="http://java.sun.
 com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#SC_SERIALIZABLE" title="class or interface in java.io">SC_SERIALIZABLE</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#SC_WRITE_METHOD" title="class or interface in java.io">SC_WRITE_METHOD</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#STREAM_MAGIC" title="class or interface in java.io">STREAM_MAGIC</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#STREAM_VERSION" title="class or interface in java.io">STREAM_VERSION</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#SUBCLASS_IMPLEMENTATION_PERMISSION" title="class or interface in java.io">SUBCLASS_IMPLEMENTATION_PERMISSION</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#SUBSTITUTION_PERMISSION" title="class or interface in java.io">SUBSTITUTION_PERMISSION</A>, <A HREF=
 "http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_ARRAY" title="class or interface in java.io">TC_ARRAY</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_BASE" title="class or interface in java.io">TC_BASE</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_BLOCKDATA" title="class or interface in java.io">TC_BLOCKDATA</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_BLOCKDATALONG" title="class or interface in java.io">TC_BLOCKDATALONG</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_CLASS" title="class or interface in java.io">TC_CLASS</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_CLASSDESC" title="class or interface in java.io">TC_CLASSDESC</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_ENDB
 LOCKDATA" title="class or interface in java.io">TC_ENDBLOCKDATA</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_ENUM" title="class or interface in java.io">TC_ENUM</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_EXCEPTION" title="class or interface in java.io">TC_EXCEPTION</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_LONGSTRING" title="class or interface in java.io">TC_LONGSTRING</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_MAX" title="class or interface in java.io">TC_MAX</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_NULL" title="class or interface in java.io">TC_NULL</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_OBJECT" title="class or interface in java.io">TC_OBJECT</A>, <A HREF="http://java.sun.com/j2s
 e/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_PROXYCLASSDESC" title="class or interface in java.io">TC_PROXYCLASSDESC</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_REFERENCE" title="class or interface in java.io">TC_REFERENCE</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_RESET" title="class or interface in java.io">TC_RESET</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamConstants.html#TC_STRING" title="class or interface in java.io">TC_STRING</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><CODE><B><A HREF="../../../net/jini/io/MarshalInputStream.html#MarshalInputStream(java.io.InputStream, java.lang.ClassLoader, boolean, java.lang.ClassLoader, java.util.Collection)">MarshalInputStream</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;in,
+                   <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;defaultLoader,
+                   boolean&nbsp;verifyCodebaseIntegrity,
+                   <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;verifierLoader,
+                   <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;context)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <code>MarshalInputStream</code> that reads
+ marshalled data from the specified underlying
+ <code>InputStream</code>.</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/util/Collection.html" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/io/MarshalInputStream.html#getObjectStreamContext()">getObjectStreamContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the collection of context information objects that
+ was passed to this stream's constructor.</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/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../net/jini/io/MarshalInputStream.html#readAnnotation()">readAnnotation</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads and returns a class annotation string value (possibly
+ <code>null</code>) that was written by a corresponding
+ <code>MarshalOutputStream</code> implementation.</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/io/MarshalInputStream.html#resolveClass(java.io.ObjectStreamClass)">resolveClass</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamClass.html" title="class or interface in java.io">ObjectStreamClass</A>&nbsp;classDesc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resolves the appropriate <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html" title="class or interface in java.lang"><CODE>Class</CODE></A> object for the stream
+ class descriptor <code>classDesc</code>.</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/io/MarshalInputStream.html#resolveProxyClass(java.lang.String[])">resolveProxyClass</A></B>(<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>[]&nbsp;interfaceNames)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resolves the appropriate <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html" title="class or interface in java.lang"><CODE>Class</CODE></A> object for the proxy
+ class described by the interface names
+ <code>interfaceNames</code>.</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/io/MarshalInputStream.html#useCodebaseAnnotations()">useCodebaseAnnotations</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enables the use of codebase annotation strings written by the
+ corresponding <code>MarshalOutputStream</code>.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.io.ObjectInputStream"><!-- --></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.io.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html" title="class or interface in java.io">ObjectInputStream</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#available()" title="class or interface in java.io">available</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#close()" title="class or interface in java.io">close</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#defaultReadObject()" title="class or interface in java.io">defaultReadObject</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#enableResolveObject(boolean)" title="class or interface in java.io">enableResolveObject</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#read()" title="class or interface in java.io">read</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#read(byte[], int, int)" title="class or interface in java.io">read</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStre
 am.html#readBoolean()" title="class or interface in java.io">readBoolean</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readByte()" title="class or interface in java.io">readByte</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readChar()" title="class or interface in java.io">readChar</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readClassDescriptor()" title="class or interface in java.io">readClassDescriptor</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readDouble()" title="class or interface in java.io">readDouble</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readFields()" title="class or interface in java.io">readFields</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readFloat()" title="class or interface in java.io">readFloat</A>, <A HREF="http:/
 /java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readFully(byte[])" title="class or interface in java.io">readFully</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readFully(byte[], int, int)" title="class or interface in java.io">readFully</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readInt()" title="class or interface in java.io">readInt</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readLine()" title="class or interface in java.io">readLine</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readLong()" title="class or interface in java.io">readLong</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readObject()" title="class or interface in java.io">readObject</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readObjectOverride()" title="cla
 ss or interface in java.io">readObjectOverride</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readShort()" title="class or interface in java.io">readShort</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readStreamHeader()" title="class or interface in java.io">readStreamHeader</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readUnshared()" title="class or interface in java.io">readUnshared</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readUnsignedByte()" title="class or interface in java.io">readUnsignedByte</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readUnsignedShort()" title="class or interface in java.io">readUnsignedShort</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readUTF()" title="class or interface in java.io">readUTF</A>, <A HREF="http:/
 /java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#registerValidation(java.io.ObjectInputValidation, int)" title="class or interface in java.io">registerValidation</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#resolveObject(java.lang.Object)" title="class or interface in java.io">resolveObject</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#skipBytes(int)" title="class or interface in java.io">skipBytes</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.io.InputStream"><!-- --></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.io.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html#mark(int)" title="class or interface in java.io">mark</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html#markSupported()" title="class or interface in java.io">markSupported</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html#read(byte[])" title="class or interface in java.io">read</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html#reset()" title="class or interface in java.io">reset</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html#skip(long)" title="class or interface in java.io">skip</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;<A NAME="methods_inherited_from_class_java.io.ObjectInput"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface java.io.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInput.html" title="class or interface in java.io">ObjectInput</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInput.html#read(byte[])" title="class or interface in java.io">read</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInput.html#skip(long)" title="class or interface in java.io">skip</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="MarshalInputStream(java.io.InputStream, java.lang.ClassLoader, boolean, java.lang.ClassLoader, java.util.Collection)"><!-- --></A><H3>
+MarshalInputStream</H3>
+<PRE>
+public <B>MarshalInputStream</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A>&nbsp;in,
+                          <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;defaultLoader,
+                          boolean&nbsp;verifyCodebaseIntegrity,
+                          <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;verifierLoader,
+                          <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;context)
+                   throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Creates a new <code>MarshalInputStream</code> that reads
+ marshalled data from the specified underlying
+ <code>InputStream</code>.
+
+ <p>This constructor passes <code>in</code> to the superclass
+ constructor that has an <code>InputStream</code> parameter.
+
+ <p><code>defaultLoader</code> will be passed as the
+ <code>defaultLoader</code> argument to <A HREF="../../../net/jini/loader/ClassLoading.html#loadClass(java.lang.String, java.lang.String, java.lang.ClassLoader, boolean, java.lang.ClassLoader)"><CODE>ClassLoading.loadClass</CODE></A> and <A HREF="../../../net/jini/loader/ClassLoading.html#loadProxyClass(java.lang.String, java.lang.String[], java.lang.ClassLoader, boolean, java.lang.ClassLoader)"><CODE>ClassLoading.loadProxyClass</CODE></A>
+ whenever those methods are invoked by <A HREF="../../../net/jini/io/MarshalInputStream.html#resolveClass(java.io.ObjectStreamClass)"><CODE>resolveClass</CODE></A> and <A HREF="../../../net/jini/io/MarshalInputStream.html#resolveProxyClass(java.lang.String[])"><CODE>resolveProxyClass</CODE></A>.
+
+ <p>If <code>verifyCodebaseIntegrity</code> is
+ <code>true</code>, then the created stream will verify that all
+ codebase annotation URLs that are used to load classes resolved
+ by the stream provide content integrity, and whenever <A HREF="../../../net/jini/security/Security.html#verifyCodebaseIntegrity(java.lang.String, java.lang.ClassLoader)"><CODE>Security.verifyCodebaseIntegrity</CODE></A> is invoked to enforce that
+ verification, <code>verifierLoader</code> will be passed as the
+ <code>loader</code> argument.  See <A HREF="../../../net/jini/loader/ClassLoading.html#loadClass(java.lang.String, java.lang.String, java.lang.ClassLoader, boolean, java.lang.ClassLoader)"><CODE>ClassLoading.loadClass</CODE></A> and <A HREF="../../../net/jini/loader/ClassLoading.html#loadProxyClass(java.lang.String, java.lang.String[], java.lang.ClassLoader, boolean, java.lang.ClassLoader)"><CODE>ClassLoading.loadProxyClass</CODE></A> for
+ details of how codebase integrity verification is performed.
+
+ <p><code>context</code> will be used as the return value of the
+ created stream's <A HREF="../../../net/jini/io/MarshalInputStream.html#getObjectStreamContext()"><CODE>getObjectStreamContext</CODE></A> method.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>in</CODE> - the input stream to read marshalled data from<DD><CODE>defaultLoader</CODE> - the class loader value (possibly
+ <code>null</code>) to pass as the <code>defaultLoader</code>
+ argument to <code>ClassLoading</code> methods<DD><CODE>verifyCodebaseIntegrity</CODE> - if <code>true</code>, this
+ stream will verify that codebase annotation URLs used to load
+ classes resolved by this stream provide content integrity<DD><CODE>verifierLoader</CODE> - the class loader value (possibly
+ <code>null</code>) to pass to
+ <code>Security.verifyCodebaseIntegrity</code>, if
+ <code>verifyCodebaseIntegrity</code> is <code>true</code><DD><CODE>context</CODE> - the collection of context information objects to
+ be returned by this stream's <A HREF="../../../net/jini/io/MarshalInputStream.html#getObjectStreamContext()"><CODE>getObjectStreamContext</CODE></A> method
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if the superclass's constructor throws an
+ <code>IOException</code>
+<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 the superclass's constructor
+ throws a <code>SecurityException</code>
+<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>in</code> or
+ <code>context</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="useCodebaseAnnotations()"><!-- --></A><H3>
+useCodebaseAnnotations</H3>
+<PRE>
+public void <B>useCodebaseAnnotations</B>()</PRE>
+<DL>
+<DD>Enables the use of codebase annotation strings written by the
+ corresponding <code>MarshalOutputStream</code>.
+
+ <p>If this method has not been invoked on this stream, then the
+ <code>resolveClass</code> and <code>resolveProxyClass</code>
+ methods ignore the class annotation strings and just use a
+ <code>null</code> codebase value when loading classes.  After
+ this method has been invoked, then the
+ <code>resolveClass</code> and <code>resolveProxyClass</code>
+ methods use the class annotation strings as codebase values.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getObjectStreamContext()"><!-- --></A><H3>
+getObjectStreamContext</H3>
+<PRE>
+public <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>getObjectStreamContext</B>()</PRE>
+<DL>
+<DD>Returns the collection of context information objects that
+ was passed to this stream's constructor.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../net/jini/io/ObjectStreamContext.html#getObjectStreamContext()">getObjectStreamContext</A></CODE> in interface <CODE><A HREF="../../../net/jini/io/ObjectStreamContext.html" title="interface in net.jini.io">ObjectStreamContext</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a collection of this stream's context objects</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resolveClass(java.io.ObjectStreamClass)"><!-- --></A><H3>
+resolveClass</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>resolveClass</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectStreamClass.html" title="class or interface in java.io">ObjectStreamClass</A>&nbsp;classDesc)
+                      throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                             <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></PRE>
+<DL>
+<DD>Resolves the appropriate <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html" title="class or interface in java.lang"><CODE>Class</CODE></A> object for the stream
+ class descriptor <code>classDesc</code>.
+
+ <p><code>MarshalInputStream</code> implements this method as
+ follows:
+
+ <p>This method first invokes this stream's <A HREF="../../../net/jini/io/MarshalInputStream.html#readAnnotation()"><CODE>readAnnotation</CODE></A> method to read the annotation
+ string value (possibly <code>null</code>) for the class
+ descriptor.  If <code>readAnnotation</code> throws an
+ exception, then this method throws that exception.  Otherwise,
+ a codebase value is chosen as follows: if the <A HREF="../../../net/jini/io/MarshalInputStream.html#useCodebaseAnnotations()"><CODE>useCodebaseAnnotations</CODE></A> method has been
+ invoked on this stream, then the codebase value chosen is the
+ value that was returned by <code>readAnnotation</code>;
+ otherwise, the codebase value chosen is <code>null</code>.
+
+ <p>This method then invokes <A HREF="../../../net/jini/loader/ClassLoading.html#loadClass(java.lang.String, java.lang.String, java.lang.ClassLoader, boolean, java.lang.ClassLoader)"><CODE>ClassLoading.loadClass</CODE></A> with the chosen codebase value as the
+ first argument, the name of the class described by
+ <code>classDesc</code> as the second argument, and the
+ <code>defaultLoader</code>,
+ <code>verifyCodebaseIntegrity</code>, and
+ <code>verifierLoader</code> values that were passed to this
+ stream's constructor as the third, fourth, and fifth arguments.
+ If <code>ClassLoading.loadClass</code> throws a
+ <code>ClassNotFoundException</code> and the name of the class
+ described by <code>classDesc</code> equals the Java
+ programming language keyword for a primitive type or
+ <code>void</code>, then this method returns the
+ <code>Class</code> corresponding to that primitive type or
+ <code>void</code> (<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Integer.html#TYPE" title="class or interface in java.lang"><CODE>Integer.TYPE</CODE></A> for <code>int</code>,
+ <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Void.html#TYPE" title="class or interface in java.lang"><CODE>Void.TYPE</CODE></A> for <code>void</code>, and so forth).
+ Otherwise, if <code>ClassLoading.loadClass</code> throws an
+ exception, this method throws that exception, and if it returns
+ normally, this method returns the <code>Class</code> returned
+ by <code>ClassLoading.loadClass</code>.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#resolveClass(java.io.ObjectStreamClass)" title="class or interface in java.io">resolveClass</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html" title="class or interface in java.io">ObjectInputStream</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>classDesc</CODE> - the stream class descriptor to resolve
+<DT><B>Returns:</B><DD>the resolved class
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if <code>readAnnotation</code> throws an
+ <code>IOException</code>, or if
+ <code>ClassLoading.loadClass</code> throws a
+ <code>MalformedURLException</code>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></CODE> - if <code>readAnnotation</code>
+ or <code>ClassLoading.loadClass</code> throws a
+ <code>ClassNotFoundException</code>
+<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>classDesc</code> is
+ <code>null</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resolveProxyClass(java.lang.String[])"><!-- --></A><H3>
+resolveProxyClass</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>resolveProxyClass</B>(<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>[]&nbsp;interfaceNames)
+                           throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                                  <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></PRE>
+<DL>
+<DD>Resolves the appropriate <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html" title="class or interface in java.lang"><CODE>Class</CODE></A> object for the proxy
+ class described by the interface names
+ <code>interfaceNames</code>.
+
+ <p><code>MarshalInputStream</code> implements this method as
+ follows:
+
+ <p>This method first invokes this stream's <A HREF="../../../net/jini/io/MarshalInputStream.html#readAnnotation()"><CODE>readAnnotation</CODE></A> method to read the annotation
+ string value (possibly <code>null</code>) for the class
+ descriptor.  If <code>readAnnotation</code> throws an
+ exception, then this method throws that exception.  Otherwise,
+ a codebase value is chosen as follows: if the <A HREF="../../../net/jini/io/MarshalInputStream.html#useCodebaseAnnotations()"><CODE>useCodebaseAnnotations</CODE></A> method has been
+ invoked on this stream, then the codebase value chosen is the
+ value that was returned by <code>readAnnotation</code>;
+ otherwise, the codebase value chosen is <code>null</code>.
+
+ <p>This method then invokes <A HREF="../../../net/jini/loader/ClassLoading.html#loadProxyClass(java.lang.String, java.lang.String[], java.lang.ClassLoader, boolean, java.lang.ClassLoader)"><CODE>ClassLoading.loadProxyClass</CODE></A> with the chosen codebase value as
+ the first argument, <code>interfaceNames</code> as the second
+ argument, and the <code>defaultLoader</code>,
+ <code>verifyCodebaseIntegrity</code>, and
+ <code>verifierLoader</code> values that were passed to this
+ stream's constructor as the third, fourth, and fifth arguments.
+ If <code>ClassLoading.loadProxyClass</code> throws an
+ exception, then this method throws that exception.  Otherwise,
+ this method returns the <code>Class</code> returned by
+ <code>ClassLoading.loadProxyClass</code>.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#resolveProxyClass(java.lang.String[])" title="class or interface in java.io">resolveProxyClass</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html" title="class or interface in java.io">ObjectInputStream</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>interfaceNames</CODE> - the list of interface names that were
+ deserialized in the proxy class descriptor
+<DT><B>Returns:</B><DD>the resolved dynamic proxy class
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if <code>readAnnotation</code> throws an
+ <code>IOException</code>, or if
+ <code>ClassLoading.loadProxyClass</code> throws a
+ <code>MalformedURLException</code>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></CODE> - if <code>readAnnotation</code>
+ or <code>ClassLoading.loadProxyClass</code> throws a
+ <code>ClassNotFoundException</code>
+<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>interfaceNames</code> is
+ <code>null</code> or if any element of
+ <code>interfaceNames</code> is <code>null</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readAnnotation()"><!-- --></A><H3>
+readAnnotation</H3>
+<PRE>
+protected <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>readAnnotation</B>()
+                         throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                                <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></PRE>
+<DL>
+<DD>Reads and returns a class annotation string value (possibly
+ <code>null</code>) that was written by a corresponding
+ <code>MarshalOutputStream</code> implementation.
+
+ <p><code>MarshalInputStream</code> implements this method to
+ just read the annotation value from this stream using <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readObject()" title="class or interface in java.io"><CODE>readObject</CODE></A>, and if
+ <code>readObject</code> returns a non-<code>null</code> value
+ that is not a <code>String</code>, an <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InvalidObjectException.html" title="class or interface in java.io"><CODE>InvalidObjectException</CODE></A> is thrown.
+
+ <p>A subclass can override this method to read the annotation
+ from a different location.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the class annotation string value read (possibly
+ <code>null</code>)
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an I/O exception occurs reading the
+ annotation
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></CODE> - if a
+ <code>ClassNotFoundException</code> occurs reading the
+ annotation</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/MarshalInputStream.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/io/MarshalledInstance.html" title="class in net.jini.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?net/jini/io/MarshalInputStream.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MarshalInputStream.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.io.ObjectInputStream">NESTED</A>&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>