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.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 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()
hashCode
in class Object
Object.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 Object
obj
- 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, 2019, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.