JavaTM 2
Platform
Std. Ed. v1.4.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 はい はい はい はい はい
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
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()
          オブジェクトアダプタの不透明な識別子を返します。
 void add_reply_service_context(ServiceContext service_context, boolean replace)
          インタセプタがサービスコンテキストを要求に追加できるようにします。
 Policy get_server_policy(int type)
          このオペレーションに有効な指定されたポリシー型のポリシーを返します。
 byte[] object_id()
          オペレーション呼び出しのターゲットを表している不透明な object_id を返します。
 Any sending_exception()
          クライアントに返される例外を格納する any を返します。
 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

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

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

関連項目:
PortableInterceptor パッケージの既知の制限/実装されていないメソッドについてのコメント

object_id

public byte[] object_id()
オペレーション呼び出しのターゲットを表している不透明な object_id を返します。


adapter_id

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


target_most_derived_interface

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


get_server_policy

public 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

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

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

target_is_a

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

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

add_reply_service_context

public 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
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.