Serializable
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 | Description |
---|---|---|
static final int |
ACTIVATOR_ID |
Object number for well-known ObjID of the activator. |
static final int |
DGC_ID |
Object number for well-known ObjID of the distributed garbage collector. |
static final int |
REGISTRY_ID |
Object number for well-known ObjID of the registry. |
Constructor | Description |
---|---|
ObjID() |
Generates a unique object identifier. |
ObjID |
Creates a "well-known" object identifier. |
Modifier and Type | Method | Description |
---|---|---|
boolean |
equals |
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 |
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 |
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 ObjID
s 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()
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.public String toString()
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.rmi/java/rmi/server/ObjID.html