public final class

ObjID

extends Object
implements Serializable
java.lang.Object
   ↳ java.rmi.server.ObjID

Class Overview

An ObjID is used to identify a remote object exported to an RMI runtime. When a remote object is exported, it is assigned an object identifier either implicitly or explicitly, depending on the API used to export.

The ObjID() constructor can be used to generate a unique object identifier. Such an ObjID is unique over time with respect to the host it is generated on. The ObjID(int) constructor can be used to create a "well-known" object identifier. The scope of a well-known ObjID depends on the RMI runtime it is exported to.

An ObjID instance contains an object number (of type long) and an address space identifier (of type UID). In a unique ObjID, the address space identifier is unique with respect to a given host over time. In a well-known ObjID, the address space identifier is equivalent to one returned by invoking the UID(short) constructor with the value zero.

If the system property java.rmi.server.randomIDs is defined to equal the string "true" (case insensitive), then the ObjID() constructor will use a cryptographically strong random number generator to choose the object number of the returned ObjID.

Summary

Constants
int ACTIVATOR_ID Object number for well-known ObjID of the activator.
int DGC_ID Object number for well-known ObjID of the distributed garbage collector.
int REGISTRY_ID Object number for well-known ObjID of the registry.
Public Constructors
ObjID()
Generates a unique object identifier.
ObjID(int objNum)
Creates a "well-known" object identifier.
Public Methods
boolean equals(Object obj)
Compares the specified object with this ObjID for equality.
int hashCode()
Returns the hash code value for this object identifier, the object number.
static ObjID read(ObjectInput in)
Constructs and returns a new ObjID instance by unmarshalling a binary representation from an ObjectInput instance.
String toString()
Returns a string representation of this object identifier.
void write(ObjectOutput out)
Marshals a binary representation of this ObjID to an ObjectOutput instance.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int ACTIVATOR_ID

Object number for well-known ObjID of the activator.

Constant Value: 1 (0x00000001)

public static final int DGC_ID

Object number for well-known ObjID of the distributed garbage collector.

Constant Value: 2 (0x00000002)

public static final int REGISTRY_ID

Object number for well-known ObjID of the registry.

Constant Value: 0 (0x00000000)

Public Constructors

public ObjID ()

Generates a unique object identifier.

If the system property java.rmi.server.randomIDs is defined to equal the string "true" (case insensitive), then this constructor will use a cryptographically strong random number generator to choose the object number of the returned ObjID.

public ObjID (int objNum)

Creates a "well-known" object identifier.

An ObjID created via this constructor will not clash with any ObjIDs generated via the no-arg constructor.

Parameters
objNum object number for well-known object identifier

Public Methods

public boolean equals (Object obj)

Compares the specified object with this ObjID for equality. This method returns true if and only if the specified object is an ObjID instance with the same object number and address space identifier as this one.

Parameters
obj the object to compare this ObjID to
Returns
  • true if the given object is equivalent to this one, and false otherwise

public int hashCode ()

Returns the hash code value for this object identifier, the object number.

Returns
  • the hash code value for this object identifier

public static ObjID read (ObjectInput in)

Constructs and returns a new ObjID instance by unmarshalling a binary representation from an ObjectInput instance.

Specifically, this method first invokes the given stream's readLong() method to read an object number, then it invokes read(DataInput) with the stream to read an address space identifier, and then it creates and returns a new ObjID instance that contains the object number and address space identifier that were read from the stream.

Parameters
in the ObjectInput instance to read ObjID from
Returns
  • unmarshalled ObjID instance
Throws
IOException if an I/O error occurs while performing this operation

public String toString ()

Returns a string representation of this object identifier.

Returns
  • a string representation of this object identifier

public void write (ObjectOutput out)

Marshals a binary representation of this ObjID to an ObjectOutput instance.

Specifically, this method first invokes the given stream's writeLong(long) method with this object identifier's object number, and then it writes its address space identifier by invoking its write(DataOutput) method with the stream.

Parameters
out the ObjectOutput instance to write this ObjID to
Throws
IOException if an I/O error occurs while performing this operation