public final class ObjID extends Object implements 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(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.
| 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 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. |
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 identifierpublic void write(ObjectOutput out) throws IOException
ObjID to
an ObjectOutput instance.
Specifically, this method first invokes the given stream's
DataOutput.writeLong(long) method with this object
identifier's object number, and then it writes its address
space identifier by invoking its UID.write(DataOutput)
method with the stream.
out - the ObjectOutput instance to write
this ObjID toIOException - if an I/O error occurs while performing
this operationpublic static ObjID read(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.readLong() method to read an object number,
then it invokes UID.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.
in - the ObjectInput instance to read
ObjID fromObjID instanceIOException - if an I/O error occurs while performing
this operationpublic int hashCode()
hashCode in class ObjectObject.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)public boolean equals(Object obj)
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 Objectobj - the object to compare this ObjID totrue if the given object is equivalent to
this one, and false otherwiseObject.hashCode(),
HashMap Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.