This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


java.rmi.server
class ObjID

java.lang.Object extended by java.rmi.server.ObjID
All Implemented Interfaces:
Serializable

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

          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

          Returns the hash code value for this object identifier, the object number.
static ObjID

          Constructs and returns a new ObjID instance by unmarshalling a binary representation from an ObjectInput instance.
 String

          Returns a string representation of this object identifier.
 void

          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

ACTIVATOR_ID

public static final int ACTIVATOR_ID
Object number for well-known ObjID of the activator.

DGC_ID

public static final int DGC_ID
Object number for well-known ObjID of the distributed garbage collector.

REGISTRY_ID

public static final int REGISTRY_ID
Object number for well-known ObjID of the registry.
Constructor Detail

ObjID

public ObjID()
Generates a unique object identifier.

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.


ObjID

public ObjID(int objNum)
Creates a "well-known" object identifier.

An ObjID created via this constructor will not clash with any ObjIDs generated via the no-arg constructor.

Parameters:
objNum - object number for well-known object identifier
Method Detail

equals

public boolean equals(Object obj)
Compares the specified object with this 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.

Overrides:
equals in class Object
Parameters:
obj - the object to compare this ObjID to
Returns:
true if the given object is equivalent to this one, and false otherwise

hashCode

public int hashCode()
Returns the hash code value for this object identifier, the object number.

Overrides:
hashCode in class Object
Returns:
the hash code value for this object identifier

read

public static ObjID read(ObjectInput in)
                  throws IOException
Constructs and returns a new 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.

Parameters:
in - the ObjectInput instance to read ObjID from
Returns:
unmarshalled ObjID instance
Throws:
IOException - if an I/O error occurs while performing this operation

toString

public String toString()
Returns a string representation of this object identifier.

Overrides:
toString in class Object
Returns:
a string representation of this object identifier

write

public void write(ObjectOutput out)
           throws IOException
Marshals a binary representation of this 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.

Parameters:
out - the ObjectOutput instance to write this ObjID to
Throws:
IOException - if an I/O error occurs while performing this operation


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.