モジュール java.rmi
パッケージ 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)
      既知のオブジェクト識別子を生成します。
    • フィールドの詳細

      • 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 - この操作の実行中に入出力エラーが発生した場合
      • equals

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

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