- All Implemented Interfaces:
- 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.
- Since:
- 1.1
- See Also:
- Serialized Form
- 
Field SummaryFields Modifier and Type Field Description static intACTIVATOR_IDObject number for well-knownObjIDof the activator.static intDGC_IDObject number for well-knownObjIDof the distributed garbage collector.static intREGISTRY_IDObject number for well-knownObjIDof the registry.
- 
Constructor Summary
- 
Method SummaryModifier and Type Method Description booleanequals(Object obj)Compares the specified object with thisObjIDfor equality.inthashCode()Returns the hash code value for this object identifier, the object number.static ObjIDread(ObjectInput in)Constructs and returns a newObjIDinstance by unmarshalling a binary representation from anObjectInputinstance.StringtoString()Returns a string representation of this object identifier.voidwrite(ObjectOutput out)Marshals a binary representation of thisObjIDto anObjectOutputinstance.
- 
Field Details- 
REGISTRY_IDpublic static final int REGISTRY_IDObject number for well-knownObjIDof the registry.- See Also:
- Constant Field Values
 
- 
ACTIVATOR_IDpublic static final int ACTIVATOR_IDObject number for well-knownObjIDof the activator.- See Also:
- Constant Field Values
 
- 
DGC_IDpublic static final int DGC_IDObject number for well-knownObjIDof the distributed garbage collector.- See Also:
- Constant Field Values
 
 
- 
- 
Constructor Details- 
ObjIDpublic ObjID()Generates a unique object identifier.If the system property java.rmi.server.randomIDsis 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 returnedObjID.
- 
ObjIDpublic ObjID(int objNum)Creates a "well-known" object identifier.An ObjIDcreated via this constructor will not clash with anyObjIDs generated via the no-arg constructor.- Parameters:
- objNum- object number for well-known object identifier
 
 
- 
- 
Method Details- 
writeMarshals a binary representation of thisObjIDto anObjectOutputinstance.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 itsUID.write(DataOutput)method with the stream.- Parameters:
- out- the- ObjectOutputinstance to write this- ObjIDto
- Throws:
- IOException- if an I/O error occurs while performing this operation
 
- 
readConstructs and returns a newObjIDinstance by unmarshalling a binary representation from anObjectInputinstance.Specifically, this method first invokes the given stream's DataInput.readLong()method to read an object number, then it invokesUID.read(DataInput)with the stream to read an address space identifier, and then it creates and returns a newObjIDinstance that contains the object number and address space identifier that were read from the stream.- Parameters:
- in- the- ObjectInputinstance to read- ObjIDfrom
- Returns:
- unmarshalled ObjIDinstance
- Throws:
- IOException- if an I/O error occurs while performing this operation
 
- 
hashCodepublic int hashCode()Returns the hash code value for this object identifier, the object number.- Overrides:
- hashCodein class- Object
- Returns:
- the hash code value for this object identifier
- See Also:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
- 
equalsCompares the specified object with thisObjIDfor equality. This method returnstrueif and only if the specified object is anObjIDinstance with the same object number and address space identifier as this one.- Overrides:
- equalsin class- Object
- Parameters:
- obj- the object to compare this- ObjIDto
- Returns:
- trueif the given object is equivalent to this one, and- falseotherwise
- See Also:
- Object.hashCode(),- HashMap
 
- 
toStringReturns a string representation of this object identifier.
 
-