Class Stub

All Implemented Interfaces:
Serializable, Object
Direct Known Subclasses:
_Remote_Stub, CodegenStubBase

public abstract class Stub extends ObjectImpl implements Serializable
Base class from which all RMI-IIOP stubs must inherit.
See Also:
  • Field Details

  • Constructor Details

    • Stub

      public Stub()
  • Method Details

    • hashCode

      public int hashCode()
      Returns a hash code value for the object which is the same for all stubs that represent the same remote object.
      Overrides:
      hashCode in class ObjectImpl
      Returns:
      the hash code value.
    • equals

      public boolean equals(Object obj)
      Compares two stubs for equality. Returns true when used to compare stubs that represent the same remote object, and false otherwise.
      Overrides:
      equals in class ObjectImpl
      Parameters:
      obj - the reference object with which to compare.
      Returns:
      true if this object is the same as the obj argument; false otherwise.
    • toString

      public String toString()
      Returns a string representation of this stub. Returns the same string for all stubs that represent the same remote object.
      Overrides:
      toString in class ObjectImpl
      Returns:
      a string representation of this stub.
    • connect

      public void connect(ORB orb) throws RemoteException
      Connects this stub to an ORB. Required after the stub is deserialized but not after it is demarshalled by an ORB stream. If an unconnected stub is passed to an ORB stream for marshalling, it is implicitly connected to that ORB. Application code should not call this method directly, but should call the portable wrapper method PortableRemoteObject.connect(java.rmi.Remote, java.rmi.Remote).
      Parameters:
      orb - the ORB to connect to.
      Throws:
      RemoteException - if the stub is already connected to a different ORB, or if the stub does not represent an exported remote or local object.
    • readObject

      private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
      Serialization method to restore the IOR state.
      Parameters:
      stream - stream to read object from
      Throws:
      IOException - if there was an error reading from the strea
      ClassNotFoundException - if the class that was represented by the steam cannot be found
    • writeObject

      private void writeObject(ObjectOutputStream stream) throws IOException
      Serialization method to save the IOR state.
      Parameters:
      stream - The length of the IOR type ID (int), followed by the IOR type ID (byte array encoded using ISO8859-1), followed by the number of IOR profiles (int), followed by the IOR profiles. Each IOR profile is written as a profile tag (int), followed by the length of the profile data (int), followed by the profile data (byte array).
      Throws:
      IOException - if an error occurred writing to the delegated stub
    • setDefaultDelegate

      private void setDefaultDelegate()
    • createDelegateIfSpecified

      private static Object createDelegateIfSpecified(String classKey, String defaultClassName)
    • loadDelegateClass

      private static Class loadDelegateClass(String className) throws ClassNotFoundException
      Throws:
      ClassNotFoundException
    • getORBPropertiesFile

      private static Properties getORBPropertiesFile()
      Load the orb.properties file.