org.objectweb.david.libs.stub_factories.rmi
Class StubDelegate

java.lang.Object
  extended byorg.objectweb.david.libs.stub_factories.rmi.StubDelegate
All Implemented Interfaces:
Constants, javax.rmi.CORBA.StubDelegate

public class StubDelegate
extends java.lang.Object
implements javax.rmi.CORBA.StubDelegate, Constants

This class provides an implementation for StubDelegate.


Field Summary
 
Fields inherited from interface org.objectweb.david.libs.binding.orbs.Constants
corba_object_id, corba_prefix, TC_any, TC_boolean, TC_char, TC_double, TC_float, TC_long, TC_longdouble, TC_longlong, TC_null, TC_Object, TC_octet, TC_Principal, TC_short, TC_string, tc_table, TC_TypeCode, TC_ulong, TC_ulonglong, TC_ushort, TC_void, TC_wchar, TC_wstring
 
Constructor Summary
StubDelegate()
          Constructs a new StubDelegate instance.
 
Method Summary
 void connect(javax.rmi.CORBA.Stub self, org.omg.CORBA.ORB orb)
          This method makes the stub ready for remote communication using the specified ORB object.
 boolean equals(javax.rmi.CORBA.Stub self, java.lang.Object obj)
          The equals method shall return true when used to compare stubs that represent the same remote object.
 int hashCode(javax.rmi.CORBA.Stub self)
          This method shall return the same hashcode for all stubs that represent the same remote object.
 void readObject(javax.rmi.CORBA.Stub self, java.io.ObjectInputStream s)
          This method supports stub deserialization by restoring the IOR associated with the stub.
 java.lang.String toString(javax.rmi.CORBA.Stub self)
          Returns a string representing the target object.
 void writeObject(javax.rmi.CORBA.Stub self, java.io.ObjectOutputStream s)
          This method supports stub serialization by saving the IOR associated with the stub.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StubDelegate

public StubDelegate()
Constructs a new StubDelegate instance.

Method Detail

hashCode

public int hashCode(javax.rmi.CORBA.Stub self)
This method shall return the same hashcode for all stubs that represent the same remote object. This cannot be really implemented without a remote call. To avoid it, we use a less strict specification. The hashcode used is the hashcode of the stringified IOR of the stub.

Specified by:
hashCode in interface javax.rmi.CORBA.StubDelegate
Parameters:
self - the actual stub.
Returns:
a hashcode for the target object.

equals

public boolean equals(javax.rmi.CORBA.Stub self,
                      java.lang.Object obj)
The equals method shall return true when used to compare stubs that represent the same remote object. This cannot be really implemented without a remote call. To avoid it, we use a strictless specification: two stubs are equal if they have the same stringified IOR.

Specified by:
equals in interface javax.rmi.CORBA.StubDelegate
Parameters:
self - the actual stub.
obj - an object to compare the target with.
Returns:
true if the target and obj represent the same object, false otherwise.

toString

public java.lang.String toString(javax.rmi.CORBA.Stub self)
Returns a string representing the target object. This method shall return the same string for all stubs that represent the same remote object. This cannot be really implemented without a remote call. To avoid it, we use a strictless specification: the toString() method returns the stringified IOR.

Specified by:
toString in interface javax.rmi.CORBA.StubDelegate
Parameters:
self - the actual stub.
Returns:
a string representing the target object.

connect

public void connect(javax.rmi.CORBA.Stub self,
                    org.omg.CORBA.ORB orb)
             throws java.rmi.RemoteException
This method makes the stub ready for remote communication using the specified ORB object.

Specified by:
connect in interface javax.rmi.CORBA.StubDelegate
Parameters:
self - the actual stub.
orb - an ORB;
Throws:
java.rmi.RemoteException - if something goes wrong.

writeObject

public void writeObject(javax.rmi.CORBA.Stub self,
                        java.io.ObjectOutputStream s)
                 throws java.io.IOException
This method supports stub serialization by saving the IOR associated with the stub.

Specified by:
writeObject in interface javax.rmi.CORBA.StubDelegate
Parameters:
self - the actual stub.
s - an ObjectOutputStream;
Throws:
java.io.IOException - if an IO error occurs.

readObject

public void readObject(javax.rmi.CORBA.Stub self,
                       java.io.ObjectInputStream s)
                throws java.io.IOException,
                       java.lang.ClassNotFoundException
This method supports stub deserialization by restoring the IOR associated with the stub.

Specified by:
readObject in interface javax.rmi.CORBA.StubDelegate
Parameters:
self - the actual stub.
s - an ObjectInputStream;
Throws:
java.io.IOException - if an IO error occurs;
java.lang.ClassNotFoundException - if a class can't be found.