All Packages Class Hierarchy This Package Previous Next Index
Interface java.rmi.server.RemoteRef
- public interface RemoteRef
- extends Externalizable
RemoteRef represents the handle for a remote object.
packagePrefix- Initialize the server package prefix: assumes that the
implementation of server ref classes (e.g., UnicastRef,
UnicastServerRef) are located in the package defined by the
prefix.
serialVersionUID-
done(RemoteCall)
- Allows the remote reference to clean up (or reuse) the connection.
getRefClass(ObjectOutput)
- Returns the class name of the ref type to be serialized onto
the stream 'out'.
invoke(Remote, Method, Object[], long)
- Invoke a method.
invoke(RemoteCall)
- Executes the remote call.
newCall(RemoteObject, Operation[], int, long)
- Creates an appropriate call object for a new remote method
invocation on this object.
remoteEquals(RemoteRef)
- Compares two remote objects for equality.
remoteHashCode()
- Returns a hashcode for a remote object.
remoteToString()
- Returns a String that represents the reference of this remote
object.
toImpl(RemoteStub)
- Returns the local implementation object for this ref if the
implementation resides locally.
serialVersionUID
public static final long serialVersionUID
packagePrefix
public static final String packagePrefix
- Initialize the server package prefix: assumes that the
implementation of server ref classes (e.g., UnicastRef,
UnicastServerRef) are located in the package defined by the
prefix.
invoke
public abstract Object invoke(Remote obj,
Method method,
Object[] params,
long opnum) throws Exception
- Invoke a method. This form of delegating method invocation
to the reference allows the reference to take care of
setting up the connection to the remote host, marshaling
some representation for the method and parameters, then
communicating the method invocation to the remote host.
This method either returns the result of a method invocation
on the remote object which resides on the remote host or
throws a RemoteException if the call failed or an
application-level exception if the remote invocation throws
an exception.
- Parameters:
- obj - the object that contains the RemoteRef (e.g., the
RemoteStub for the object.
- method - the method to be invoked
- params - the parameter list
- opnum - a hash that may be used to represent the method
newCall
public abstract RemoteCall newCall(RemoteObject obj,
Operation[] op,
int opnum,
long hash) throws RemoteException
- 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.
- Throws:
RemoteException
- if registry could not be contacted.
invoke
public abstract void invoke(RemoteCall call) throws Exception
- 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.
- Throws:
Exception
- if a general exception occurs.
done
public abstract void done(RemoteCall call) throws RemoteException
- 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.
- Throws:
RemoteException
- if registry could not be contacted.
toImpl
public abstract Remote toImpl(RemoteStub stub) throws NoSuchObjectException
- Returns the local implementation object for this ref if the
implementation resides locally.
- Returns:
- the remote object implementation
- Throws:
NoSuchObjectException
- if the implementation for the
remote object is not resident in the local VM.
getRefClass
public abstract String getRefClass(ObjectOutput out)
- Returns the class name of the ref type to be serialized onto
the stream 'out'.
remoteHashCode
public abstract int remoteHashCode()
- 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).
- See Also:
- Hashtable
remoteEquals
public abstract boolean remoteEquals(RemoteRef obj)
- 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.
- Parameters:
- obj - the Object to compare with
- Returns:
- true if these Objects are equal; false otherwise.
- See Also:
- Hashtable
remoteToString
public abstract String remoteToString()
- Returns a String that represents the reference of this remote
object.
All Packages Class Hierarchy This Package Previous Next Index
Submit a bug or feature