Module java.rmi

Class RemoteObject

java.lang.Object
java.rmi.server.RemoteObject
All Implemented Interfaces:
Serializable, Remote
Direct Known Subclasses:
RemoteObjectInvocationHandler, RemoteServer, RemoteStub

public abstract class RemoteObject
extends Object
implements Remote, Serializable
The RemoteObject class implements the java.lang.Object behavior for remote objects. RemoteObject provides the remote semantics of Object by implementing methods for hashCode, equals, and toString.
Since:
1.1
See Also:
Serialized Form
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected RemoteRef ref
    The object's remote reference.
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    protected RemoteObject()
    Creates a remote object.
    protected RemoteObject​(RemoteRef newref)
    Creates a remote object, initialized with the specified remote reference.
  • Method Summary

    Modifier and Type Method Description
    boolean equals​(Object obj)
    Compares two remote objects for equality.
    RemoteRef getRef()
    Returns the remote reference for the remote object.
    int hashCode()
    Returns a hashcode for a remote object.
    String toString()
    Returns a String that represents the value of this remote object.
    static Remote toStub​(Remote obj)
    Returns the stub for the remote object obj passed as a parameter.

    Methods declared in class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • ref

      protected transient RemoteRef ref
      The object's remote reference.
  • Constructor Details

    • RemoteObject

      protected RemoteObject()
      Creates a remote object.
    • RemoteObject

      protected RemoteObject​(RemoteRef newref)
      Creates a remote object, initialized with the specified remote reference.
      Parameters:
      newref - remote reference
  • Method Details

    • getRef

      public RemoteRef getRef()
      Returns the remote reference for the remote object.

      Note: The object returned from this method may be an instance of an implementation-specific class. The RemoteObject class ensures serialization portability of its instances' remote references through the behavior of its custom writeObject and readObject methods. An instance of RemoteRef should not be serialized outside of its RemoteObject wrapper instance or the result may be unportable.

      Returns:
      remote reference for the remote object
      Since:
      1.2
    • toStub

      public static Remote toStub​(Remote obj) throws NoSuchObjectException
      Returns the stub for the remote object obj passed as a parameter. This operation is only valid after the object has been exported.
      Parameters:
      obj - the remote object whose stub is needed
      Returns:
      the stub for the remote object, obj.
      Throws:
      NoSuchObjectException - if the stub for the remote object could not be found.
      Since:
      1.2
    • hashCode

      public int hashCode()
      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).
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this object.
      See Also:
      Hashtable
    • equals

      public boolean equals​(Object 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. If the specified Object is not itself an instance of RemoteObject, then this method delegates by returning the result of invoking the equals method of its parameter with this remote object as the argument.
      Overrides:
      equals in class Object
      Parameters:
      obj - the Object to compare with
      Returns:
      true if these Objects are equal; false otherwise.
      See Also:
      Hashtable
    • toString

      public String toString()
      Returns a String that represents the value of this remote object.
      Overrides:
      toString in class Object
      Returns:
      a string representation of the object.