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 {@link #ObjID()} constructor can be used to generate a uniqueobject identifier. Such an ObjID
is unique over time with respect to the host it is generated on. The {@link #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 {@link 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 {@link UID#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 {@link #ObjID()} constructor will use a cryptographicallystrong random number generator to choose the object number of the returned ObjID
.
@author Ann Wollrath
@author Peter Jones
@version 1.31, 06/02/23
@since JDK1.1