java.rmi.server

Interface RemoteRef

All Superinterfaces:
Externalizable, Serializable
Known Subinterfaces:
ServerRef

public interface RemoteRef
extends Externalizable

Represents a handler to the remote object. Each instance of the RemoteStub contains such handler and uses it to invoke remote methods via invoke(Remote,Method,Object[],long).

Field Summary

static String
packagePrefix
For binary compatibility with the JDK, the string "sun.rmi.server".
static long
serialVersionUID
Indicates compatibility with JDK 1.1.*

Method Summary

void
done(RemoteCall call)
Deprecated. use invoke(Remote,Method,Object[],long) instead.
String
getRefClass(ObjectOutput out)
Returns the class name of the reference type that must be written to the given stream.
Object
invoke(Remote obj, Method method, Object[] params, long methodHash)
Invoke a method.
void
invoke(RemoteCall call)
Deprecated. use invoke(Remote,Method,Object[],long) instead.
RemoteCall
newCall(RemoteObject obj, Operation[] op, int opnum, long hash)
Deprecated. use invoke(Remote,Method,Object[],long) instead.
boolean
remoteEquals(RemoteRef ref)
Compare two remote objects for equality.
int
remoteHashCode()
Get the hashcode for a remote object.
String
remoteToString()
Get the string representation of this remote reference.

Methods inherited from interface java.io.Externalizable

readExternal, writeExternal

Field Details

packagePrefix

public static final String packagePrefix
For binary compatibility with the JDK, the string "sun.rmi.server". Not actually used for anything.
Field Value:
"sun.rmi.server"

serialVersionUID

public static final long serialVersionUID
Indicates compatibility with JDK 1.1.*
Field Value:
3632638527362204081L

Method Details

done

public void done(RemoteCall call)
            throws RemoteException

Deprecated. use invoke(Remote,Method,Object[],long) instead.


getRefClass

public String getRefClass(ObjectOutput out)
Returns the class name of the reference type that must be written to the given stream. When writing, this returned name is passed first, and the reference.writeExternal(out) writes the reference specific data.
Parameters:
out - the stream, where the data must be written
Returns:
the class name.

invoke

public Object invoke(Remote obj,
                     Method method,
                     Object[] params,
                     long methodHash)
            throws Exception
Invoke a method. This method either returns the result of remote invocation or throws RemoteException if the remote call failed. Other exceptions may be thrown if some problem has occured in the application level.
Parameters:
obj - the object, containing the remote reference (for instance, remote stub, generated by rmic).
method - the method to invoke
params - the method parameters
methodHash - a persistent hash code that can be used to represent a method
Returns:
the result of the remote invocation
Throws:
Exception - if one is raised at the application level

invoke

public void invoke(RemoteCall call)
            throws Exception

Deprecated. use invoke(Remote,Method,Object[],long) instead.


newCall

public RemoteCall newCall(RemoteObject obj,
                          Operation[] op,
                          int opnum,
                          long hash)
            throws RemoteException

Deprecated. use invoke(Remote,Method,Object[],long) instead.


remoteEquals

public boolean remoteEquals(RemoteRef ref)
Compare two remote objects for equality. The references are equal if they point to the same remote object.
Parameters:
ref - the reference to compare.
Returns:
true if this and passed references both point to the same remote object, false otherwise.

remoteHashCode

public int remoteHashCode()
Get the hashcode for a remote object. Two remote object stubs, referring to the same remote object, have the same hash code.
Returns:
the hashcode of the remote object

remoteToString

public String remoteToString()
Get the string representation of this remote reference.
Returns:
the string representation.

RemoteRef.java -- Copyright (c) 1996, 1997, 1998, 1999, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.