- java.lang.Object
-
- java.rmi.server.ObjID
-
- All Implemented Interfaces:
- Serializable
public final class ObjID extends Object implements Serializable
AnObjID
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 anObjID
is unique over time with respect to the host it is generated on. TheObjID(int)
constructor can be used to create a "well-known" object identifier. The scope of a well-knownObjID
depends on the RMI runtime it is exported to.An
ObjID
instance contains an object number (of typelong
) and an address space identifier (of typeUID
). In a uniqueObjID
, the address space identifier is unique with respect to a given host over time. In a well-knownObjID
, the address space identifier is equivalent to one returned by invoking theUID.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 theObjID()
constructor will use a cryptographically strong random number generator to choose the object number of the returnedObjID
.- Since:
- JDK1.1
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static int
ACTIVATOR_ID
Object number for well-knownObjID
of the activator.static int
DGC_ID
Object number for well-knownObjID
of the distributed garbage collector.static int
REGISTRY_ID
Object number for well-knownObjID
of the registry.
-
Constructor Summary
Constructors Constructor and Description ObjID()
Generates a unique object identifier.ObjID(int objNum)
Creates a "well-known" object identifier.
-
Method Summary
Methods Modifier and Type Method and Description boolean
equals(Object obj)
Compares the specified object with thisObjID
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 newObjID
instance by unmarshalling a binary representation from anObjectInput
instance.String
toString()
Returns a string representation of this object identifier.void
write(ObjectOutput out)
Marshals a binary representation of thisObjID
to anObjectOutput
instance.
-
-
-
Field Detail
-
REGISTRY_ID
public static final int REGISTRY_ID
Object number for well-knownObjID
of the registry.- See Also:
- Constant Field Values
-
ACTIVATOR_ID
public static final int ACTIVATOR_ID
Object number for well-knownObjID
of the activator.- See Also:
- Constant Field Values
-
DGC_ID
public static final int DGC_ID
Object number for well-knownObjID
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 returnedObjID
.
-
ObjID
public ObjID(int objNum)
Creates a "well-known" object identifier.An
ObjID
created via this constructor will not clash with anyObjID
s 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 thisObjID
to anObjectOutput
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 itsUID.write(DataOutput)
method with the stream.- Parameters:
out
- theObjectOutput
instance to write thisObjID
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 newObjID
instance by unmarshalling a binary representation from anObjectInput
instance.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 newObjID
instance that contains the object number and address space identifier that were read from the stream.- Parameters:
in
- theObjectInput
instance to readObjID
from- Returns:
- unmarshalled
ObjID
instance - Throws:
IOException
- if an I/O error occurs while performing this operation
-
hashCode
public int hashCode()
Returns the hash code value for this object identifier, the object number.- Overrides:
hashCode
in classObject
- Returns:
- the hash code value for this object identifier
- See Also:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object obj)
Compares the specified object with thisObjID
for equality. This method returnstrue
if and only if the specified object is anObjID
instance with the same object number and address space identifier as this one.- Overrides:
equals
in classObject
- Parameters:
obj
- the object to compare thisObjID
to- Returns:
true
if the given object is equivalent to this one, andfalse
otherwise- See Also:
Object.hashCode()
,HashMap
-
-
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 11/06/2005, zuletzt geändert 04/03/2020
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/java-api-rf-java/rmi/server/ObjID.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.