gnu.java.rmi.server

Class UnicastRef

Implemented Interfaces:
Externalizable, ProtocolConstants, RemoteRef, Serializable
Known Direct Subclasses:
ActivatableRef, UnicastServerRef

public class UnicastRef
extends Object
implements RemoteRef, ProtocolConstants

Field Summary

ObjID
objid

Fields inherited from interface gnu.java.rmi.server.ProtocolConstants

DEFAULT_PROTOCOL, MESSAGE_CALL, MESSAGE_CALL_ACK, MESSAGE_DGCACK, MESSAGE_PING, MESSAGE_PING_ACK, MULTIPLEX_PROTOCOL, PROTOCOL_ACK, PROTOCOL_HEADER, PROTOCOL_NACK, PROTOCOL_VERSION, RETURN_ACK, RETURN_NACK, SINGLE_OP_PROTOCOL, STREAM_PROTOCOL

Fields inherited from interface java.rmi.server.RemoteRef

packagePrefix, serialVersionUID

Constructor Summary

UnicastRef()
Used by serialization, and let subclass capable of having default constructor
UnicastRef(ObjID objid)
UnicastRef(ObjID objid, String host, int port, RMIClientSocketFactory csf)

Method Summary

void
done(RemoteCall call)
Deprecated.
void
dump(UnicastConnection conn)
boolean
equals(Object other)
Check if this UnicastRef points to the object as the passed UnicastRef.
String
getRefClass(ObjectOutput out)
int
hashCode()
Get the hash code of this UnicastRef, combining hash code of the manager with hash code of the object id.
Object
invoke(Remote obj, Method method, Object[] params, long opnum)
void
invoke(RemoteCall call)
Deprecated.
protected Object
invokeCommon(UnicastConnection conn, Remote obj, Method method, Object[] params, int opnum, long hash)
Invoke the remote method on the given object when connection is already established.
protected Object
invokeCommon(Remote obj, Method method, Object[] params, int opnum, long hash)
Invoke the remote method on the given object.
RemoteCall
newCall(RemoteObject obj, Operation[] op, int opnum, long hash)
Deprecated.
Lease
notifyDGC(Lease lease)
Notify the DGC of the remote side that we still hold this object.
void
readExternal(ObjectInput in)
boolean
remoteEquals(RemoteRef ref)
int
remoteHashCode()
String
remoteToString()
Return the string representing the remote reference information.
void
writeExternal(ObjectOutput out)

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

objid

public ObjID objid

Constructor Details

UnicastRef

public UnicastRef()
Used by serialization, and let subclass capable of having default constructor

UnicastRef

public UnicastRef(ObjID objid)

UnicastRef

public UnicastRef(ObjID objid,
                  String host,
                  int port,
                  RMIClientSocketFactory csf)

Method Details

done

public void done(RemoteCall call)
            throws RemoteException

Deprecated.

Specified by:
done in interface RemoteRef

dump

public void dump(UnicastConnection conn)

equals

public boolean equals(Object other)
Check if this UnicastRef points to the object as the passed UnicastRef. Both the object Id and manager must be the same.
Overrides:
equals in interface Object
Returns:
true if the passed reference points to the same remote object as this reference, false otherwise.

getRefClass

public String getRefClass(ObjectOutput out)
Specified by:
getRefClass in interface RemoteRef

hashCode

public int hashCode()
Get the hash code of this UnicastRef, combining hash code of the manager with hash code of the object id.
Overrides:
hashCode in interface Object

invoke

public Object invoke(Remote obj,
                     Method method,
                     Object[] params,
                     long opnum)
            throws Exception
Specified by:
invoke in interface RemoteRef

invoke

public void invoke(RemoteCall call)
            throws Exception

Deprecated.

Specified by:
invoke in interface RemoteRef

invokeCommon

protected Object invokeCommon(UnicastConnection conn,
                              Remote obj,
                              Method method,
                              Object[] params,
                              int opnum,
                              long hash)
            throws Exception
Invoke the remote method on the given object when connection is already established.

invokeCommon

protected Object invokeCommon(Remote obj,
                              Method method,
                              Object[] params,
                              int opnum,
                              long hash)
            throws Exception
Invoke the remote method on the given object. This part is overridden by the activatable objects.

newCall

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

Deprecated.

Specified by:
newCall in interface RemoteRef

notifyDGC

public Lease notifyDGC(Lease lease)
            throws Exception
Notify the DGC of the remote side that we still hold this object.

readExternal

public void readExternal(ObjectInput in)
            throws IOException,
                   ClassNotFoundException
Specified by:
readExternal in interface Externalizable

remoteEquals

public boolean remoteEquals(RemoteRef ref)
Specified by:
remoteEquals in interface RemoteRef

remoteHashCode

public int remoteHashCode()
Specified by:
remoteHashCode in interface RemoteRef

remoteToString

public String remoteToString()
Return the string representing the remote reference information.
Specified by:
remoteToString in interface RemoteRef

writeExternal

public void writeExternal(ObjectOutput out)
            throws IOException
Specified by:
writeExternal in interface Externalizable

UnicastRef.java -- Copyright (c) 1996, 1997, 1998, 1999, 2002, 2005, 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.