<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Wed Jul 28 01:21:15 GMT 1999 -->
<title>
  Interface java.rmi.server.RemoteRef
</title>
</head>
<body>
<a name="_top_"></a>
<pre>
<a href="packages.html">All Packages</a>  <a href="tree.html">Class Hierarchy</a>  <a href="Package-java.rmi.server.html">This Package</a>  <a href="java.rmi.server.RemoteCall.html#_top_">Previous</a>  <a href="java.rmi.server.ServerRef.html#_top_">Next</a>  <a href="AllNames.html">Index</a></pre>
<hr>
<h1>
  Interface java.rmi.server.RemoteRef
</h1>
<dl>
  <dt> public interface <b>RemoteRef</b>
  <dt> extends <a href="java.io.Externalizable.html#_top_">Externalizable</a>
</dl>
RemoteRef represents the handle for a remote object.
<p>
<hr>
<a name="index"></a>
<h2>
  <img src="images/variable-index.gif" width=207 height=38 alt="Variable Index">
</h2>
<dl>
  <dt> <img src="images/blue-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#packagePrefix"><b>packagePrefix</b></a>
  <dd>  Find server package prefix: assumes that the implementation of
 server ref classes (e.g., UnicastRef, UnicastServerRef) are
 located in the package defined by the prefix.
</dl>
<h2>
  <img src="images/method-index.gif" width=207 height=38 alt="Method Index">
</h2>
<dl>
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#done(java.rmi.server.RemoteCall)"><b>done</b></a>(RemoteCall)
  <dd>  Allows the remote reference to clean up (or reuse) the connection.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#getRefClass(java.io.ObjectOutput)"><b>getRefClass</b></a>(ObjectOutput)
  <dd>  Returns the class name of the ref type to be serialized onto
 the stream 'out'.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#invoke(java.rmi.server.RemoteCall)"><b>invoke</b></a>(RemoteCall)
  <dd>  Executes the remote call.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#newCall(java.rmi.server.RemoteObject, java.rmi.server.Operation[], int, long)"><b>newCall</b></a>(RemoteObject, Operation[], int, long)
  <dd>  Creates an appropriate call object for a new remote method
 invocation on this object.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#remoteEquals(java.rmi.server.RemoteRef)"><b>remoteEquals</b></a>(RemoteRef)
  <dd>  Compares two remote objects for equality.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#remoteHashCode()"><b>remoteHashCode</b></a>()
  <dd>  Returns a hashcode for a remote object.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#remoteToString()"><b>remoteToString</b></a>()
  <dd>  Returns a String that represents the reference of this remote
 object.
</dl>
<a name="variables"></a>
<h2>
  <img src="images/variables.gif" width=153 height=38 alt="Variables">
</h2>
<a name="packagePrefix"><img src="images/blue-ball.gif" width=12 height=12 alt=" o "></a>
<b>packagePrefix</b>
<pre>
 public static final <a href="java.lang.String.html#_top_">String</a> packagePrefix
</pre>
<dl>
  <dd> Find server package prefix: assumes that the implementation of
 server ref classes (e.g., UnicastRef, UnicastServerRef) are
 located in the package defined by the prefix.<p>
</dl>
<a name="methods"></a>
<h2>
  <img src="images/methods.gif" width=151 height=38 alt="Methods">
</h2>
<a name="newCall(java.rmi.server.RemoteObject, java.rmi.server.Operation[], int, long)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="newCall"><b>newCall</b></a>
<pre>
 public abstract <a href="java.rmi.server.RemoteCall.html#_top_">RemoteCall</a> newCall(<a href="java.rmi.server.RemoteObject.html#_top_">RemoteObject</a> obj,
                                    <a href="java.rmi.server.Operation.html#_top_">Operation</a> op[],
                                    int opnum,
                                    long hash) throws <a href="java.rmi.RemoteException.html#_top_">RemoteException</a>
</pre>
<dl>
  <dd> Creates an appropriate call object for a new remote method
 invocation on this object.  Passing operation array and index,
 allows the stubs generator to assign the operation indexes and
 interpret them. The remote reference may need the operation to
 encode in the call.
<p>
  <dd><dl>
    <dt> <b>Throws:</b> <a href="java.rmi.RemoteException.html#_top_">RemoteException</a>
    <dd> if registry could not be contacted.
  </dl></dd>
</dl>
<a name="invoke(java.rmi.server.RemoteCall)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="invoke"><b>invoke</b></a>
<pre>
 public abstract void invoke(<a href="java.rmi.server.RemoteCall.html#_top_">RemoteCall</a> call) throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Executes the remote call.
 Invoke will raise any "user" exceptions which
 should pass through and not be caught by the stub.  If any
 exception is raised during the remote invocation, invoke should
 take care of cleaning up the connection before raising the
 "user" or remote exception.
<p>
  <dd><dl>
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="done(java.rmi.server.RemoteCall)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="done"><b>done</b></a>
<pre>
 public abstract void done(<a href="java.rmi.server.RemoteCall.html#_top_">RemoteCall</a> call) throws <a href="java.rmi.RemoteException.html#_top_">RemoteException</a>
</pre>
<dl>
  <dd> Allows the remote reference to clean up (or reuse) the connection.
 Done should only be called if the invoke returns successfully
 (non-exceptionally) to the stub.
<p>
  <dd><dl>
    <dt> <b>Throws:</b> <a href="java.rmi.RemoteException.html#_top_">RemoteException</a>
    <dd> if registry could not be contacted.
  </dl></dd>
</dl>
<a name="getRefClass(java.io.ObjectOutput)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="getRefClass"><b>getRefClass</b></a>
<pre>
 public abstract <a href="java.lang.String.html#_top_">String</a> getRefClass(<a href="java.io.ObjectOutput.html#_top_">ObjectOutput</a> out)
</pre>
<dl>
  <dd> Returns the class name of the ref type to be serialized onto
 the stream 'out'.
<p>
</dl>
<a name="remoteHashCode()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="remoteHashCode"><b>remoteHashCode</b></a>
<pre>
 public abstract int remoteHashCode()
</pre>
<dl>
  <dd> Returns a hashcode for a remote object.  Two remote object stubs
 that refer to the same remote object will have the same hash code
 (in order to support remote objects as keys in hash tables).
<p>
  <dd><dl>
    <dt> <b>See Also:</b>
    <dd> <a href="java.util.Hashtable.html#_top_">Hashtable</a>
  </dl></dd>
</dl>
<a name="remoteEquals(java.rmi.server.RemoteRef)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="remoteEquals"><b>remoteEquals</b></a>
<pre>
 public abstract boolean remoteEquals(<a href="#_top_">RemoteRef</a> obj)
</pre>
<dl>
  <dd> Compares two remote objects for equality.
 Returns a boolean that indicates whether this remote object is
 equivalent to the specified Object. This method is used when a
 remote object is stored in a hashtable.
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> obj - the Object to compare with
    <dt> <b>Returns:</b>
    <dd> true if these Objects are equal; false otherwise.
    <dt> <b>See Also:</b>
    <dd> <a href="java.util.Hashtable.html#_top_">Hashtable</a>
  </dl></dd>
</dl>
<a name="remoteToString()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="remoteToString"><b>remoteToString</b></a>
<pre>
 public abstract <a href="java.lang.String.html#_top_">String</a> remoteToString()
</pre>
<dl>
  <dd> Returns a String that represents the reference of this remote
 object.
<p>
</dl>
<hr>
<pre>
<a href="packages.html">All Packages</a>  <a href="tree.html">Class Hierarchy</a>  <a href="Package-java.rmi.server.html">This Package</a>  <a href="java.rmi.server.RemoteCall.html#_top_">Previous</a>  <a href="java.rmi.server.ServerRef.html#_top_">Next</a>  <a href="AllNames.html">Index</a></pre>
</body>
</html>
