モジュール java.rmi
パッケージ java.rmi.server

クラスObjID

java.lang.Object
java.rmi.server.ObjID
すべての実装されたインタフェース:
Serializable

public final class ObjID
extends Object
implements Serializable
ObjIDは、RMIランタイムにエクスポートされたリモート・オブジェクトを識別するために使用します。 エクスポートしたリモート・オブジェクトには、エクスポートに使用したAPIに応じて暗黙的または明示的にオブジェクト識別子が割り当てられます。

ObjID()コンストラクタを使用すると、一意のオブジェクト識別子を生成できます。 そのようなObjIDは、それが生成されたホスト上で常に一意になります。 ObjID(int)コンストラクタを使用すると、「既知の」オブジェクト識別子を生成できます。 既知のObjIDのスコープは、エクスポート先のRMIランタイムによって異なります。

ObjIDのインスタンスには、オブジェクト番号(long型)とアドレス空間識別子(UID型)が含まれます。 一意のObjIDでは、アドレス空間識別子は特定のホスト上で常に一意です。 よく知られているObjIDでは、アドレス空間識別子は、UID(short)コンストラクタを値0で呼び出すことによって返されるものと同等です。

システム・プロパティjava.rmi.server.randomIDsが文字列"true" (大文字小文字を区別しません)と等しいように定義されている場合、ObjID()コンストラクタは暗号的に強い乱数ジェネレータを使用して、返されるObjIDのオブジェクト番号を選択します。

導入されたバージョン:
1.1
関連項目:
直列化された形式
  • フィールドのサマリー

    フィールド
    修飾子と型 フィールド 説明
    static int ACTIVATOR_ID
    アクティベータの既知のObjIDに使用するオブジェクト番号です。
    static int DGC_ID
    分散ガベージ・コレクタの既知のObjIDに使用するオブジェクト番号です。
    static int REGISTRY_ID
    レジストリの既知のObjIDに使用するオブジェクト番号です。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ 説明
    ObjID()
    一意のオブジェクト識別子を生成します。
    ObjID​(int objNum)
    「既知の」オブジェクト識別子を生成します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    boolean equals​(Object obj)
    指定されたオブジェクトがこのObjIDと同じかどうかを比較します。
    int hashCode()
    このオブジェクト識別子のハッシュ・コード値をオブジェクト番号として返します。
    static ObjID read​(ObjectInput in)
    ObjectInputインスタンスのバイナリ表現を非整列化することで、新しいObjIDインスタンスを構築して返します。
    String toString()
    このオブジェクト識別子の文字列表現を返します。
    void write​(ObjectOutput out)
    このObjIDのバイナリ表現を整列化して、ObjectOutputインスタンスに書き込みます。

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • フィールド詳細

    • REGISTRY_ID

      public static final int REGISTRY_ID
      レジストリの既知のObjIDに使用するオブジェクト番号です。
      関連項目:
      定数フィールド値
    • ACTIVATOR_ID

      public static final int ACTIVATOR_ID
      アクティベータの既知のObjIDに使用するオブジェクト番号です。
      関連項目:
      定数フィールド値
    • DGC_ID

      public static final int DGC_ID
      分散ガベージ・コレクタの既知のObjIDに使用するオブジェクト番号です。
      関連項目:
      定数フィールド値
  • コンストラクタの詳細

    • ObjID

      public ObjID()
      一意のオブジェクト識別子を生成します。

      システム・プロパティjava.rmi.server.randomIDsが文字列"true" (大文字と小文字は区別されない)と定義されている場合、このコンストラクタは強力な暗号乱数ジェネレータを使用して、返されるObjIDのオブジェクト番号を選択します。

    • ObjID

      public ObjID​(int objNum)
      「既知の」オブジェクト識別子を生成します。

      このコンストラクタを使用して生成したObjIDは、引数を指定しないで生成したObjIDと重複することはありません。

      パラメータ:
      objNum - 既知のオブジェクト識別子に使用するオブジェクト番号
  • メソッドの詳細

    • write

      public void write​(ObjectOutput out) throws IOException
      このObjIDのバイナリ表現を整列化して、ObjectOutputインスタンスに書き込みます。

      具体的には、このメソッドはまず、このオブジェクト識別子のオブジェクト番号を使用して、指定されたストリームのDataOutput.writeLong(long)メソッドを呼び出します。次に、そのストリームを使用してUID.write(DataOutput)メソッドを呼び出し、アドレス空間識別子を書き込みます。

      パラメータ:
      out - このObjIDの書込み先のObjectOutputインスタンス
      例外:
      IOException - この操作の実行中に入出力エラーが発生した場合
    • read

      public static ObjID read​(ObjectInput in) throws IOException
      ObjectInputインスタンスのバイナリ表現を非整列化することで、新しいObjIDインスタンスを構築して返します。

      具体的には、このメソッドはまず、指定されたストリームのDataInput.readLong()メソッドを呼び出して、オブジェクト番号を読み込みます。次に、そのストリームを使用してUID.read(DataInput)を呼び出し、アドレス空間識別子を読み込みます。さらに、ストリームから読み込んだオブジェクト番号とアドレス空間識別子を含む新しいObjIDインスタンスを作成し、そのインスタンスを返します。

      パラメータ:
      in - ObjIDの読取り元のObjectInputインスタンス
      戻り値:
      非整列化されたObjIDインスタンス
      例外:
      IOException - この操作の実行中に入出力エラーが発生した場合
    • hashCode

      public int hashCode()
      このオブジェクト識別子のハッシュ・コード値をオブジェクト番号として返します。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このオブジェクト識別子のハッシュ・コード値
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • equals

      public boolean equals​(Object obj)
      指定されたオブジェクトがこのObjIDと同じかどうかを比較します。 このメソッドがtrueを返すのは、指定されたオブジェクトがObjIDインスタンスであり、かつこのオブジェクトと同じオブジェクト番号とアドレス空間識別子を持つ場合だけです。
      オーバーライド:
      equals 、クラス:  Object
      パラメータ:
      obj - このObjIDと比較するオブジェクト
      戻り値:
      指定されたオブジェクトがこのオブジェクトと一致する場合はtrue、一致しない場合はfalse
      関連項目:
      Object.hashCode()HashMap
    • toString

      public String toString()
      このオブジェクト識別子の文字列表現を返します。
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      このオブジェクト識別子の文字列表現