JavaTM 2 Platform
Standard Ed. 5.0

org.omg.PortableInterceptor
インタフェース ServerRequestInfoOperations

すべてのスーパーインタフェース:
RequestInfoOperations
既知のサブインタフェースの一覧:
ServerRequestInfo

public interface ServerRequestInfoOperations
extends RequestInfoOperations

サーバ側の要求インタセプタがアクセスできる要求情報です。

ServerRequestInfo に対する一部の属性や操作は、すべての遮断点で有効であるとは限りません。次の表に、各属性または操作の有効性を示します。有効でない属性や操作にアクセスしようとすると、標準マイナーコード 14 が設定された BAD_INV_ORDER がスローされます。

  receive_request_
service_contexts
receive_request send_reply send_exception send_other
RequestInfo から継承される:

request_id

はい はい はい はい はい

operation

はい はい はい はい はい

arguments

いいえ はい1 はい いいえ2 いいえ2

exceptions

いいえ はい はい はい はい

contexts

いいえ はい はい はい はい

operation_context

いいえ はい はい いいえ いいえ

result

いいえ いいえ はい いいえ いいえ

response_expected

はい はい はい はい はい

sync_scope

はい はい はい はい はい
request_id はい はい はい はい はい
operation はい はい はい はい はい
arguments いいえ はい1はい いいえ2 いいえ2
exceptions いいえ はい はい はい はい
contexts いいえ はい はい はい はい
operation_context いいえ はい はい いいえ いいえ
result いいえ いいえ はい いいえ いいえ
response_expected はい はい はい はい はい
sync_scope はい はい はい はい はい
reply_status いいえ いいえ はい はい はい
forward_reference いいえ いいえ いいえ いいえ はい2
get_slot はい はい はい はい はい
get_request_service_context はい いいえ はい はい はい
get_reply_service_context いいえ いいえ はい はい はい
ServerRequestInfo 固有:
sending_exception いいえ いいえ いいえ はい いいえ
object_id いいえ はい はい はい3 はい3
adapter_id いいえ はい はい はい3 はい3
server_id いいえ はい はい はい はい
orb_id いいえ はい はい はい はい
adapter_name いいえ はい はい はい はい
target_most_derived_interface いいえ はい いいえ4 いいえ4 いいえ4
get_server_policy はい はい はい はい はい
set_slot はい はい はい はい はい
target_is_a いいえ はい いいえ4 いいえ4 いいえ4
add_reply_service_context はい はい はい はい はい
  1. ServerRequestInforeceive_request に渡されるときは、各引数のリストに in、inout、out のどれかのエントリがありますが、使用できるのは、in と inout の引数だけです。
  2. reply_status 属性が LOCATION_FORWARD でない場合は、この属性にアクセスすると、標準マイナーコード 14 が設定された BAD_INV_ORDER がスローされます。
  3. サーバントロケータによって位置転送が行われたか、例外がスローされた場合、この属性/操作がこの遮断点で使用できなくなる可能性があります。使用できない場合は、標準マイナーコード 1 が設定された NO_RESOURCES がスローされます。
  4. 必要な情報がターゲットオブジェクトのサーバントにアクセスする必要があるのに、ORB がこれ以上そのサーバントを使用できない可能性があるため、この操作はこの遮断点で使用できません。たとえば、オブジェクトのアダプタが ServantLocator を使用する POA である場合、ORB は ServantLocator.postinvoke() を呼び出したあとでこの遮断点を呼び出します。

関連項目:
ServerRequestInterceptor

メソッドの概要
 byte[] adapter_id()
          オブジェクトアダプタの不透明な識別子を返します。
 String[] adapter_name()
          この要求を処理中のオブジェクトアダプタインスタンスを識別する一連の文字列を返します。
 void add_reply_service_context(ServiceContext service_context, boolean replace)
          インタセプタがサービスコンテキストを要求に追加できるようにします。
 Policy get_server_policy(int type)
          この操作に有効な指定されたポリシー型のポリシーを返します。
 byte[] object_id()
          操作呼び出しのターゲットを表している不透明な object_id を返します。
 String orb_id()
          ORB を作成するのに使用された ID を返します。
 Any sending_exception()
          クライアントに返される例外を格納する any を返します。
 String server_id()
          -ORBServerId 引数を使用して ORB::init で指定されたサーバ ID を返します。
 void set_slot(int id, Any data)
          インタセプタが、要求の範囲内にある PortableInterceptor.Current にスロットを設定できるようにします。
 boolean target_is_a(String id)
          サーバントが指定されたリポジトリ ID である場合は true を返し、そうでない場合は false を返します。
 String target_most_derived_interface()
          サーバントの最上位の派生インタフェースのリポジトリ ID を返します。
 
インタフェース org.omg.PortableInterceptor.RequestInfoOperations から継承されたメソッド
arguments, contexts, exceptions, forward_reference, get_reply_service_context, get_request_service_context, get_slot, operation_context, operation, reply_status, request_id, response_expected, result, sync_scope
 

メソッドの詳細

sending_exception

Any sending_exception()
クライアントに返される例外を格納する any を返します。

例外が、any に挿入できないユーザ例外 (例外が不明であったり、バインディングによって TypeCode が提供されないなど) である場合、この属性は標準マイナーコード 1 が設定されたシステム例外 UNKNOWN を含む any となります。

関連項目:
PortableInterceptor package comments for limitations / unimplemented features

object_id

byte[] object_id()
操作呼び出しのターゲットを表している不透明な object_id を返します。


adapter_id

byte[] adapter_id()
オブジェクトアダプタの不透明な識別子を返します。


server_id

String server_id()
-ORBServerId 引数を使用して ORB::init で指定されたサーバ ID を返します。


orb_id

String orb_id()
ORB を作成するのに使用された ID を返します。


adapter_name

String[] adapter_name()
この要求を処理中のオブジェクトアダプタインスタンスを識別する一連の文字列を返します。


target_most_derived_interface

String target_most_derived_interface()
サーバントの最上位の派生インタフェースのリポジトリ ID を返します。


get_server_policy

Policy get_server_policy(int type)
この操作に有効な指定されたポリシー型のポリシーを返します。返された CORBA.Policy オブジェクトは、register_policy_factory を介して型が登録されている唯一のポリシーです。

パラメータ:
type - 返されるポリシーを指定する CORBA.PolicyType
戻り値:
指定されたポリシー型を使って取得された CORBA.Policy
例外:
INV_POLICY - 指定された型のポリシーが register_policy_factory を介して登録されていなかった場合、標準マイナーコード 2 でスローされる
関連項目:
ORBInitInfoOperations.register_policy_factory(int, org.omg.PortableInterceptor.PolicyFactory)

set_slot

void set_slot(int id,
              Any data)
              throws InvalidSlot
インタセプタが、要求の範囲内にある PortableInterceptor.Current にスロットを設定できるようにします。そのスロットにデータがすでに存在する場合、既存のデータは上書きされます。

パラメータ:
id - スロットの ID
data - そのスロットに格納する any 形式のデータ
例外:
InvalidSlot - この ID によって割り当て済みのスロットが定義されていない場合にスローされる
関連項目:
Current

target_is_a

boolean target_is_a(String id)
サーバントが指定されたリポジトリ ID である場合は true を返し、そうでない場合は false を返します。

パラメータ:
id - 呼び出し側では、サーバントがこのリポジトリ ID であるかどうかを確認する必要がある
戻り値:
サーバントが指定された RepositoryId であるか

add_reply_service_context

void add_reply_service_context(ServiceContext service_context,
                               boolean replace)
インタセプタがサービスコンテキストを要求に追加できるようにします。

サービスコンテキストの順序の宣言はありません。このため、追加された順に表示される場合も表示されない場合もあります。

パラメータ:
service_context - 応答に追加する IOP.ServiceContext
replace - 指定された ID を持つサービスコンテキストがすでに存在しているときのこの操作の動作を示す。false の場合は、標準マイナーコード 15 が設定された BAD_INV_ORDER がスローされる。true の場合は、既存のサービスコンテキストが新しいものに置換される
例外:
BAD_INV_ORDER - replace が false であるときに、指定された ID のサービスコンテキストがすでに存在する場合、標準マイナーコード 15 でスローされる

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。