java.rmi.server

Class 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 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.

    Since:
    JDK1.1
    See Also:
    Serialized Form
    • Field Detail

      • REGISTRY_ID

        public static final int REGISTRY_ID
        Object number for well-known ObjID of the registry.
        See Also:
        Constant Field Values
      • ACTIVATOR_ID

        public static final int ACTIVATOR_ID
        Object number for well-known ObjID of the activator.
        See Also:
        Constant Field Values
      • DGC_ID

        public static final int DGC_ID
        Object number for well-known ObjID of the distributed garbage collector.
        See Also:
        Constant Field Values
    • 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

      • 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 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.

        Parameters:
        out - the ObjectOutput instance to write this ObjID to
        Throws:
        IOException - if an I/O error occurs while performing this operation
      • 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 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.

        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
      • 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
        See Also:
        Object.hashCode(), HashMap
      • 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

Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-java/rmi/server/objid.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

References

  1. View the html document Language of the document:fr Manuel PHP : https://docs.oracle.com

These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.

Contents Haut