public final class ObjID extends Objectimplements Serializable
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 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.
| Modifier and Type | Field and Description |
|---|---|
static int |
ACTIVATOR_ID
Object number for well-known
ObjID of the activator.
|
static int |
DGC_ID
Object number for well-known
ObjID of the distributed garbage collector.
|
static int |
REGISTRY_ID
Object number for well-known
ObjID of the registry.
|
| Constructor and Description |
|---|
ObjID()
Generates a unique object identifier.
|
ObjID(int objNum)
Creates a "well-known" object identifier.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object
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
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
Marshals a binary representation of this
ObjID to an
ObjectOutput instance.
|
public static final int REGISTRY_ID
ObjID of the registry.
public static final int ACTIVATOR_ID
ObjID of the activator.
public static final int DGC_ID
ObjID of the distributed garbage collector.
public ObjID()
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)
An ObjID created via this constructor will not clash with any ObjIDs generated via the no-arg constructor.
objNum - object number for well-known object identifier
public void write(ObjectOutputout) throws IOException
ObjID to an
ObjectOutput instance.
Specifically, this method first invokes the given stream's DataOutput method with this object identifier's object number, and then it writes its address space identifier by invoking its UID method with the stream.
out - the
ObjectOutput instance to write this
ObjID to
IOException - if an I/O error occurs while performing this operation
public static ObjIDread(ObjectInput in) throws IOException
ObjID instance by unmarshalling a binary representation from an
ObjectInput instance.
Specifically, this method first invokes the given stream's DataInput method to read an object number, then it invokes UID 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.
in - the
ObjectInput instance to read
ObjID from
ObjID instance
IOException - if an I/O error occurs while performing this operation
public int hashCode()
hashCode in class
Object
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
public boolean equals(Objectobj)
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.
equals in class
Object
obj - the object to compare this
ObjID to
true if the given object is equivalent to this one, and
false otherwise
Object.hashCode() ,
HashMap