モジュール java.corba

インタフェースORBInitInfoOperations

  • 既知のすべてのサブインタフェース:
    ORBInitInfo


    public interface ORBInitInfoOperations
    ORBInitializerに渡されて、ORBが初期化しているときにインタセプタを登録したり、ほかの処理を実行したりできるようにします。

    ORBInitInfoオブジェクトは、ORB.initの実行中のみ有効です。 サービスがそのORBInitInfoオブジェクトへの参照を保管し、ORB.initが復帰したあとでそれを使用しようとすると、そのオブジェクトはもう存在しないため、OBJECT_NOT_EXIST例外がスローされます。

    関連項目:
    ORBInitializer
    • メソッドの詳細

      • arguments

        String[] arguments​()
        ORB.initに渡された引数を返します。 ORBの引数が含まれている場合も含まれていない場合もあります。
      • orb_id

        String orb_id​()
        初期化されるORBのIDを返します。
      • codec_factory

        CodecFactory codec_factory​()
        IOP.CodecFactoryを返します。 CodecFactoryは通常、ORB.resolve_initial_references("CodecFactory")の呼出しを介して取得されますが、ORBがまだ利用できず、インタセプタがCodecを必要とする(特にサービス・コンテキストの処理時)ため、ORBの初期化時にはCodecを取得する手段が必要となります。
      • register_initial_reference

        void register_initial_reference​(String id,
                                        Object obj)
                                 throws InvalidName
        ORB.register_initial_referenceと同じ。 同じ機能がここに用意されているのは、ORBの初期化が完了していないためまだ利用できないときに、インタセプタ登録の一環として初期参照を登録することが必要な場合があるためです。 唯一の違いは、ORBのバージョンではPIDL (CORBA.ORB.ObjectIdCORBA.ORB.InvalidName)を使用するのに対して、このインタフェースのバージョンではこのインタフェースに定義されたIDLを使用する点です。ただし、セマンティックスは同じです。
        例外:
        InvalidName
      • resolve_initial_references

        Object resolve_initial_references​(String id)
                                   throws InvalidName
        ORB.resolve_initial_referencesと同じ。 同じ機能がここに用意されているのは、ORBの初期化が完了していないためまだ利用できないときに、インタセプタ登録の一環として、ORBから初期参照を必要とする場合があるためです。 唯一の違いは、ORBのバージョンではPIDL (CORBA::ORB::ObjectIdCORBA::ORB::InvalidName)を使用するのに対して、このインタフェースのバージョンではこのインタフェースに定義されたIDLを使用する点です。ただし、セマンティックスは同じです。

        このオペレーションは、post_initの実行時のみ有効です。

        例外:
        InvalidName
      • add_client_request_interceptor

        void add_client_request_interceptor​(ClientRequestInterceptor interceptor)
                                     throws DuplicateName
        クライアント側の要求インタセプタをクライアント側の要求インタセプタのリストに追加します。
        パラメータ:
        interceptor - 追加するClientRequestInterceptor
        例外:
        DuplicateName - このインタセプタの名前を持つクライアント側の要求インタセプタがすでに存在する場合にスローされる。
      • add_server_request_interceptor

        void add_server_request_interceptor​(ServerRequestInterceptor interceptor)
                                     throws DuplicateName
        サーバー側の要求インタセプタをサーバー側の要求インタセプタのリストに追加します。
        パラメータ:
        interceptor - 追加するServerRequestInterceptor。
        例外:
        DuplicateName - このインタセプタの名前を持つサーバー側の要求インタセプタがすでに存在する場合にスローされる
      • add_ior_interceptor

        void add_ior_interceptor​(IORInterceptor interceptor)
                          throws DuplicateName
        IORインタセプタをIORインタセプタのリストに追加します。
        パラメータ:
        interceptor - 追加するIORInterceptor。
        例外:
        DuplicateName - このインタセプタの名前を持つIORインタセプタがすでに存在する場合にスローされる。
      • allocate_slot_id

        int allocate_slot_id​()
        PortableInterceptor.Currentにスロットを割り当てるために呼び出されます。

        ORBイニシャライザの内部でスロットIDを割り当てることはできますが、それらのスロットを初期化することはできないので注意してください。

        戻り値:
        割り当てられたスロットのインデックス。
        例外:
        BAD_INV_ORDER - ORBイニシャライザの内部でPICurrentに対してset_slotまたはget_slotが呼び出された場合、標準マイナー・コード14でスローされる。
        関連項目:
        Current
      • register_policy_factory

        void register_policy_factory​(int type,
                                     PolicyFactory policy_factory)
        指定されたPolicyTypePolicyFactoryを登録します。
        パラメータ:
        type - 指定されたPolicyFactoryが扱うポリシー型。
        policy_factory - 指定されたポリシー型のファクトリ。
        例外:
        BAD_INV_ORDER - 指定されたPolicyFactoryPolicyTypeがない場合、標準マイナー・コード16でスローされる。