| |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public final class ObjID extends Object implements Serializable
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 unique
object 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 cryptographically
strong random number generator to choose the object number of the
returned ObjID
.
Field Summary | |
---|---|
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 Summary | |
---|---|
ObjID() Generates a unique object identifier. |
|
ObjID(int objNum) Creates a "well-known" object identifier. |
Method Summary | |
---|---|
boolean |
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.
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int ACTIVATOR_ID
ObjID
of the activator.
public static final int DGC_ID
ObjID
of
the distributed garbage collector.
public static final int REGISTRY_ID
ObjID
of the registry.
Constructor Detail |
---|
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 identifierMethod Detail |
---|
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
otherwisepublic int hashCode()
hashCode
in class Object
public 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
{@link ObjectInput#readLong()} method to read an object number,
then it invokes {@link 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 String toString()
toString
in class Object
public void write(ObjectOutput out) throws IOException
ObjID
to
an ObjectOutput
instance.
Specifically, this method first invokes the given stream's {@link ObjectOutput#writeLong(long)} method with this object identifier's object number, and then it writes its address space identifier by invoking its {@link 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 operation
| |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |