|
Java プラットフォーム 1.2 |
|||||||||
| 前のパッケージ 次のパッケージ | フレームあり フレームなし | |||||||||
ORB クラスを含む) へのマッピングを提供します。
参照:
説明
| インタフェースの概要 | |
| ARG_IN | 呼び出しに対する入力引数を示します。 |
| ARG_INOUT | 呼び出しで入力と出力の両方に使用される引数を示します。 |
| ARG_OUT | 呼び出しに対する出力引数を示します。 |
| BAD_POLICY | |
| BAD_POLICY_TYPE | |
| BAD_POLICY_VALUE | |
| CTX_RESTRICT_SCOPE | Context.get_values メソッドへの 2 番目のパラメータとして使用できるフラグです。 |
| Current | セキュリティ情報またはトランザクション識別子など、特定スレッドの実行に関連する情報にアクセスするためのインタフェースです。 |
| DomainManager | DomainManager は、特定のドメインのポリシーオブジェクトに関連付けられています。 |
| DynAny | Any 値は、DynAny オブジェクトを介して動的に解釈 (トラバーサル) および構築できます。 |
| DynArray | 配列に関連付けられている DynAny オブジェクトを表す DynArray インタフェースです。 |
| DynEnum | IDL の enum に関連付けられている DynAny オブジェクトを表す DynEnum インタフェースです。 |
| DynFixed | IDL の fixed 型に関連付けられている DynAny オブジェクトを表す DynFixed インタフェースです。 |
| DynSequence | IDL のシーケンスに関連付けられている DynAny オブジェクトを表す DynArray インタフェースです。 |
| DynStruct | IDL の構造体に関連付けられている DynAny オブジェクトを表す DynStruct インタフェースです。 |
| DynUnion | IDL の共用体に関連付けられている DynAny オブジェクトを表す DynUnion インタフェースです。 |
| DynValue | |
| IDLType | IDLType インタフェースは、OMG の IDL の型を表すすべての IR オブジェクトが継承する抽象インタフェースです。 |
| IRObject | IRObject IDL インタフェースは、ほかのすべてのインタフェースリポジトリインタフェースの派生元である、もっとも包括的なインタフェースを表します。 |
| Object | CORBA オブジェクト参照の定義です。 |
| Policy | Policy インタフェースは、オペレーションに影響を与える特定の選択肢の利用を許可するための機構を、ORB およびオブジェクトサービスに提供します。 |
| PRIVATE_MEMBER | |
| PUBLIC_MEMBER | |
| UNSUPPORTED_POLICY | |
| UNSUPPORTED_POLICY_VALUE | |
| VM_ABSTRACT | |
| VM_CUSTOM | |
| VM_NONE | |
| VM_TRUNCATABLE | |
| クラスの概要 | |
| Any | IDL で記述できるあらゆるデータのコンテナ、または IDL のプリミティブ型のコンテナとして機能します。 |
| AnyHolder | IDL のメソッドに OUT パラメータおよび INOUT パラメータを格納するために使用される、Any オブジェクトの Holder クラスです。 |
| BooleanHolder | IDL のメソッドに OUT パラメータおよび INOUT パラメータを格納するために使用される、boolean の Holder クラスです。 |
| ByteHolder | IDL のメソッドに OUT パラメータおよび INOUT パラメータを格納するために使用される、byte の Holder クラスです。 |
| CharHolder | IDL のメソッドに OUT パラメータおよび INOUT パラメータを格納するために使用される、char の Holder クラスです。 |
| CompletionStatus | SystemException がスローされたときにメソッドが動作を完了していたかどうかを示すオブジェクトです。
|
| Context | Request オペレーションで、この呼び出しとともに送出される前にコンテキスト文字列を解決する必要のあるコンテキストオブジェクトを指定するために使われるオブジェクトです。 |
| ContextList | プロパティ名を表す String オブジェクトの、変更可能なリストを格納するオブジェクトです。 |
| DefinitionKind | |
| DoubleHolder | IDL のメソッドに OUT パラメータおよび INOUT パラメータを格納するために使用される、double の Holder クラスです。 |
| DynamicImplementation | DSI を使用するすべてのオブジェクト実装の基底クラスです。 |
| Environment | クライアントで例外を使えるようにするために、Request オペレーションで使われる例外のコンテナ (ホルダー) です。 |
| ExceptionList | メソッドによりスローされる例外を記述するために Request オペレーションで使うオブジェクトです。 |
| FixedHolder | FixedHolder は、IDL の fixed 型の値のコンテナクラスです。 |
| FloatHolder | IDL のメソッドに OUT パラメータと INOUT パラメータを格納するために使用される、float の Holder クラスです。 |
| IntHolder | IDL のメソッドに OUT パラメータと INOUT パラメータを格納するために使用される、int の Holder クラスです。 |
| LongHolder | IDL のメソッドに OUT パラメータと INOUT パラメータを格納するために使用される、long の Holder クラスです。 |
| NamedValue | 引数と戻り値を記述するために DII と DSI で使うオブジェクトです。 |
| NameValuePair | NameValuePair インタフェースは、DynStruct API の IDL 構造体の名前と値を格納するために使用します。 |
| NVList | NamedValue オブジェクトを格納する修正可能なリストです。
|
| ObjectHolder | CORBA オブジェクト参照 (org.omg.CORBA.Object 型の値) の Holder クラスです。 |
| ORB | CORBA Object Request Broker 機能のための API を提供するクラスです。 |
| Principal | 推奨されません。 CORBA 2.2 では推奨されません。 |
| PrincipalHolder | 推奨されません。 CORBA 2.2 では推奨されません。 |
| Request | メソッドを呼び出すために必要な情報を格納するオブジェクトです。 |
| ServerRequest | Dynamic Skelton Interface (DSI) で要求の明示的な状態を取得するオブジェクトです。 |
| ServiceDetail | |
| ServiceDetailHelper | |
| ServiceInformation | ServiceInformation は、CORBA モジュールの IDL の構造体です。 |
| ServiceInformationHelper | |
| ServiceInformationHolder | IDL のメソッドに OUT パラメータおよび INOUT パラメータを格納するために使用される、ServiceInformation オブジェクトの Holder クラスです。 |
| SetOverrideType | |
| ShortHolder | IDL オペレーションに OUT パラメータおよび INOUT パラメータを格納するために使用される、short の Holder クラスです。 |
| StringHolder | IDL オペレーションに OUT パラメータおよび INOUT パラメータを格納するために使用される、String の Holder クラスです。 |
| StructMember | IDL の struct のメンバについての記述です。 |
| TCKind | TypeCode オブジェクトの種類を指定する、IDL の列挙型 TCKind の Java マッピングです。 |
| TypeCode | 特定の CORBA データ型についての情報を格納するコンテナです。 |
| TypeCodeHolder | IDL オペレーションに OUT パラメータおよび INOUTパラメータを格納するために使用される、TypeCode オブジェクトの Holder クラスです。 |
| UnionMember | IDL 共用体のメンバのインタフェースリポジトリでの記述です。 |
| ValueMember | value オブジェクトのメンバのインタフェースリポジトリでの記述です。 |
| 例外の概要 | |
| BAD_CONTEXT | コンテキストオブジェクトの処理でエラーが発生した場合にスローされる、CORBA の BAD_CONTEXT 例外です。 |
| BAD_INV_ORDER | メソッドが不適切に呼び出された場合にスローされる、CORBA の BAD_INV_ORDER 例外です。 |
| BAD_OPERATION | メソッドが無効な場合にスローされる、CORBA の BAD_OPERATION 例外です。 |
| BAD_PARAM | メソッドに無効なパラメータが渡された場合にスローされる、CORBA の BAD_PARAM 例外です。 |
| BAD_TYPECODE | 指定されたタイプコードが無効な場合にスローされる、CORBA の BAD_TYPECODE 例外です。 |
| Bounds | |
| COMM_FAILURE | 通信エラーが発生した場合にスローされる、CORBA の COMM_FAILURE 例外です。 |
| DATA_CONVERSION | データ変換エラーが発生した場合にスローされる、CORBA の DATA_CONVERSION 例外です。 |
| FREE_MEM | システムがメモリを解放できないときにスローされる、CORBA の FREE_MEM 例外です。 |
| IMP_LIMIT | 実装の制限に違反したときにスローされる、CORBA の IMP_LIMIT 例外です。 |
| INITIALIZE | ORB 初期化エラーが発生したときにスローされる、CORBA の INITIALIZE 例外です。 |
| INTERNAL | ORB 内部エラーが存在するときにスローされる、CORBA の INTERNAL 例外です。 |
| INTF_REPOS | インタフェースリポジトリのアクセス時にエラーが存在するとスローされる、CORBA の INTF_REPOS 例外です。 |
| INV_FLAG | 無効なフラグが指定されたときにスローされる、CORBA の INV_FLAG 例外です。 |
| INV_IDENT | 識別子構文が無効なときにスローされる、CORBA の INV_IDENT 例外です。 |
| INV_OBJREF | 無効なオブジェクト参照が指定されたときにスローされる、CORBA の INV_OBJREF 例外です。 |
| INV_POLICY | Policy オーバーライド間に互換性がないために呼び出しを行えないとスローされる、CORBA の INV_POLICY 標準例外です。 |
| INVALID_TRANSACTION | トランザクションエラーが存在するときにスローされる、CORBA の INVALID_TRANSACTION 例外です。 |
| MARSHAL | ORB がパラメータを整列化または非整列化する上で問題があるときにスローされる、CORBA の MARSHAL 例外です。 |
| NO_IMPLEMENT | メソッドの実装が利用できないときにスローされる、CORBA の NO_IMPLEMENT 例外です。 |
| NO_MEMORY | 動的な記憶域割り当てに十分なメモリがないときに、クライアントまたはサーバによってスローされる、CORBA の NO_MEMORY 例外です。 |
| NO_PERMISSION | クライアントが、要求を実行するアクセス権を持たないときにスローされる、CORBA の NO_PERMISSION 例外です。 |
| NO_RESOURCES | クライアントとサーバのどちらかが要求を実行するのに十分なリソースを持たないときにスローされる、CORBA の NO_RESPONSE 例外です。 |
| NO_RESPONSE | 要求に対して応答がないときにスローされる、CORBA の NO_RESPONSE 例外です。 |
| OBJ_ADAPTER | なんらかのエラーを示すためにサーバのオブジェクトアダプタによってスローされる、CORBA の OBJ_ADAPTER 例外です。 |
| OBJECT_NOT_EXIST | 通常、ターゲットオブジェクトが存在しないことを示すためにサーバからスローされる、CORBA の OBJECT_NOT_EXIST 例外です。 |
| PERSIST_STORE | サーバ上の持続ストレージにエラーがあるときにスローされる、CORBA の PERSIST_STORE 例外です。 |
| PolicyError | |
| SystemException | すべての CORBA 標準例外のルートクラスです。 |
| TRANSACTION_REQUIRED | トランザクションに囲い込まれる必要のある要求の処理中に、クライアントまたはサーバ上の ORB によってスローされる CORBA の TRANSACTION_REQUIRED 例外です。 |
| TRANSACTION_ROLLEDBACK | トランザクションがロールバックされたために、トランザクション処理が完了しなかった場合にスローされる、CORBA の TRANSACTION_ROLLEDBACK 例外です。 |
| TRANSIENT | 要求が再試行されても再び発生する可能性が少ない一時エラーを通知するために、サーバによってスローされる CORBA の TRANSIENT 例外です。 |
| UNKNOWN | 発生したエラーの原因が ORB に認識されないときにスローされる、CORBA の UNKNOWN 例外です。 |
| UnknownUserException | サーバによって返されるユーザ例外を格納するクラスです。 |
| UserException | CORBA IDL ユーザ定義の例外のルートクラスです。 |
| WrongTransaction | CORBA の WrongTransaction ユーザ定義例外です。 |
OMG CORBA API の JavaTM プログラミング言語 (ORB クラスを含む) へのマッピングを提供します。ORB クラスは、プログラマがフル機能の Object Request Broker (ORB) として使用できるように実装されています。
ORB は、クライアントとサーバ上のメソッドの実装間での、メソッド呼び出しを処理 (仲介) します。クライアントとサーバはネットワーク上のどこにあってもよく、呼び出しと実装は異なるプログラミング言語で記述されている可能性があるため、ORB はこの通信を実現するために内部でさまざまな処理を行います。
CORBA パッケージの主要部分は、ORB によって内部で使用されるクラスで構成されています。そのため、ほとんどのプログラマは、このパッケージの一部分しか直接には使用しません。
実際、多くの場合、プログラマが使用するのは ORB クラスのいくつかのメソッドと例外、場合によっては 1 つのホルダークラスを使用するだけです。ORB メソッドORB メソッドを示します。
connect ()
disconnect ()
init ()
init (String [] args, Properties props)
init (Applet app, Properties props)
list_initial_services ()
resolve_initial_references (String name)
object_to_string (Object obj)
string_to_object (String str)
Java IDL の例外は、Java プログラミング言語で記述されたコードの例外と似ています。メソッドが例外をスローするように定義されている場合、そのメソッドを使用するコードには、try/catch ブロックを記述して、例外がスローされたときにその例外を処理しなければなりません。
詳細は、「Java IDL 例外」を参照してください。システム例外とユーザ定義例外の違いを説明しています。
次に、システム例外のリストを示します。これらは、org.omg.CORBA パッケージで定義されている java.lang.RuntimeException から org.omg.CORBA.SystemException を介して継承する、チェックされていない例外です。
BAD_CONTEXT
BAD_INV_ORDER
BAD_OPERATION
BAD_PARAM
BAD_TYPECODE
COMM_FAILURE
DATA_CONVERSION
FREE_MEM
IMP_LIMIT
INITIALIZE
INTERNAL
INTF_REPOS
INVALID_TRANSACTION
INV_FLAG
INV_IDENT
INV_OBJREF
INV_POLICY
MARSHAL
NO_IMPLEMENT
NO_MEMORY
NO_PERMISSION
NO_RESOURCES
NO_RESPONSE
OBJECT_NOT_EXIST
OBJ_ADAPTER
PERSIST_STORE
TRANSACTION_REQUIRED
TRANSACTION_ROLLEDBACK
TRANSIENT
UNKNOWN
次に、org.omg.CORBA で定義されているユーザ定義例外のリストを示します。
Bounds
UnknownUserException
WrongTransaction
PolicyError
CORBA パッケージの中には、名前の一部に「Package」が付いているパッケージがいくつかあります。これらのパッケージは、CORBA パッケージのインタフェースおよびクラスによって使用される例外またはクラスを提供するだけなので、一般にかなり小さいものです。
たとえば、org.omg.CORBA.TypeCodePackage パッケージには、TypeCode クラスのメソッドによってスローされる例外が 2 つあります。それら 2 つの例外を次に示します。
BadKind
Bounds
org.omg.CORBA.ORBPackage パッケージには、次の 2 つの例外があります。
InvalidName
InconsistentTypeCode
org.omg.CORBA.DynAnyPackage パッケージには、次の 4 つの例外があります。
InvalidValue 次のクラスのメソッドによってスローされる
- DynAny
- DynFixed
Invalid 次のクラスのメソッドによってスローされる
- DynAny
TypeMismatch 次のクラスのメソッドによってスローされる
- DynAny
InvalidSeq 次のクラスのメソッドによってスローされる
- DynArray
- DynSequence
- DynStruct
- DynValue
IDL のインタフェースのオペレーションは、IN パラメータだけでなく OUT パラメータまたは INOUT パラメータもとります。Java プログラミング言語は値でのみパラメータを渡すので、OUT パラメータまたは INOUT パラメータを持ちません。そのため、それらは Holder クラスと呼ばれるものにマッピングされます。IDL の OUT パラメータの代わりに、Java プログラミング言語のメソッドは適切な型の Holder クラスのインスタンスをとります。IDL インタフェースの OUT パラメータまたは INOUT パラメータに割り当てられた結果は、Holder クラスの value フィールドに割り当てられます。
org.omg.CORBA パッケージには、基本的な型 (BooleanHolder、LongHolder、StringHolder など) ごとに Holder クラスがあります。また、生成された各クラス (TypeCodeHolder など) の Holder クラスもありますが、それらは ORB によって透過的に使用され、プログラマは通常はそれらを見ることはありません。
次に、org.omg.CORBA パッケージで定義されている Holder クラスを示します。
AnyHolder
BooleanHolder
ByteHolder
CharHolder
DoubleHolder
FloatHolder
FixedHolder
IntHolder
LongHolder
ObjectHolder
PrincipalHolder
ShortHolder
StringHolder
TypeCodeHolder
CORBA パッケージのほかのクラスおよびインターフェース (内部で使用される) は、4 つのグループに分類できます。そのうちの 3 つのグループは、要求に付随して使用され、4 番目のグループ (インタフェースリポジトリに関連) は、それ自身カテゴリとなります。
TCKind -- TypeCode オブジェクトの種類 (データ型) を示す
TypeCode -- データ型を示し、ほかの情報を示す場合もある
Any -- 値および値の型コードを格納する
NamedValue -- 名前、Any オブジェクト、および引数モードフラグを格納する。NamedValue オブジェクトはメソッドの引数、メソッドの戻り値、またはコンテキストに関する情報を格納する
ContextList -- 解決され、呼び出しとともに送られる必要のあるコンテキストを記述する文字列のリスト
ExceptionList -- メソッドによってスローされる例外の TypeCode のリスト
Environment -- メソッド呼び出し間にスローされる例外のコンテナ
Context -- クライアントからサーバに補足情報を渡すために使用される NamedValue オブジェクトのリスト
NVList -- 引数を渡すか、結果を取得するために使用される NamedValue オブジェクト
Object -- すべての CORBA オブジェクト参照の基底クラス
Request -- 要求に引数を追加するためのメソッド、呼び出されるメソッドについての情報 (メソッド名、引数、スローされる例外など) にアクセスするためのメソッド、および要求の呼び出しを行うためのメソッドが格納されている、DII の main クラス
DynamicImplementation -- DSI を使用するサーバ実装のための基底クラス。このクラスの実装によって、ServerRequest オブジェクトの状態を判別したり、その結果または例外を設定するために使用される invoke メソッドを持つ
ServerRequest -- Dynamic Skeleton Interface の要求の明示的な状態を取得する
NamedValue オブジェクトで、またはメソッドのパラメータとして使用され、次のインタフェースで定義されます。
ARG_IN
ARG_INOUT
ARG_OUT
CTX_RESTRICT_SCOPE
ir.idl から、idltojava コンパイラによって生成されるインタフェースリポジトリインタフェースとクラスがあります。インタフェースリポジトリの目的は、ORB がアクセスできるように、そこに格納されているインタフェースを識別することです。各モジュール、型、インタフェース、属性、オペレーション、パラメータ、例外、定数などは、インタフェースリポジトリ API によって完全に記述されます。
ORB はインタフェースリポジトリを要求せず、Java IDL にはそれが含まれていません。
org.omg.CORBA に含まれている API は、現在の OMG CORBA 仕様に準拠するために提供されるものもありますが、Sun の JDKTM リリースでは実装されていません。これにより、ほかの JDK のライセンス保持者は、標準拡張機能および製品でこの API の実装を提供できるようになります。
long double および fixed もサポートされていない
org.omg.CORBA.Any.equal メソッドは、複雑な TypeCode (tk_objref、tk_Principal、tk_struct、tk_union、tk_sequence、tk_array、 tk_alias、および tk_except) では実装されていない
org.omg.CORBA.DynAny およびほかの動的 Any インタフェースの実装はない
org.omg.CORBA.Context の API は実装されていないContext などの抽象クラスは、定義上、実装されていないメソッドを持ちます。
org.omg.CORBA.Policy) およびそれらを取得するためのメソッドは実装されていない
org.omg.CORBA.DomainManager) およびそれらを取得するためのメソッドは実装されていない
org.omg.CORBA.ServiceInformation およびそれらのオブジェクトを取得するためのメソッドは実装されていない
org.omg.CORBA.portable.ServantObject および Delegate/ObjectImpl のメソッド _servant_preinvoke、_servant_postinvoke、および _is_local は実装されていない
perform_work、work_pending) は実装されていない
ORB.create_native_tc) は実装されていない
org.omg.CORBA パッケージで実装されていない機能のリストorg.omg.CORBA パッケージで実装されていないインタフェース
- Current
- DynAny
- DynStruct
- DynEnum
- DynArray
- DomainManager
- Policy
- DynFixed
- DynUnion
- DynSequence
- DynValue
- IRObject
- IDLType
org.omg.CORBA パッケージで実装されていないメソッド
- ORB
- public org.omg.CORBA.Policy create_policy(int type, org.omg.CORBA.Any val)
- public org.omg.CORBA.DynEnum create_dyn_enum(org.omg.CORBA.TypeCode type) throws
- public org.omg.CORBA.DynUnion create_dyn_union(org.omg.CORBA.TypeCode type)
- public org.omg.CORBA.DynArray create_dyn_array(org.omg.CORBA.TypeCode type)
- public org.omg.CORBA.DynSequence create_dyn_sequence(org.omg.CORBA.TypeCode type)
- public org.omg.CORBA.DynStruct create_dyn_struct(org.omg.CORBA.TypeCode type)
- public org.omg.CORBA.DynAny create_basic_dyn_any(org.omg.CORBA.TypeCode type)
- public org.omg.CORBA.DynAny create_dyn_any(org.omg.CORBA.Any value)
- public boolean get_service_information(short service_type,
ServiceInformationHolder service_info)
- public void perform_work()
- public boolean work_pending()
- public void shutdown(boolean wait_for_completion)
- public void run()
- public org.omg.CORBA.Current get_current()
- public org.omg.CORBA.TypeCode create_boxed_value_tc(String id,
String name,
TypeCode boxed_type)
- public org.omg.CORBA.TypeCode create_recursive_value_tc(int offset)
- public org.omg.CORBA.TypeCode create_value_tc(String id,
String name,
short type_modifier,
TypeCode concrete_base,
ValueMember[] members)
- public org.omg.CORBA.TypeCode create_native_tc(String repository_id,
String type_name)
- Any
- public void insert_Value(java.io.Serializable v, TypeCode t)
- public void insert_Value(java.io.Serializable v)
- public java.io.Serializable extract_Value()
- public void insert_fixed(java.math.BigDecimal value,
org.omg.CORBA.TypeCode type)
- public void insert_fixed(java.math.BigDecimal value)
- public java.math.BigDecimal extract_fixed()
- TypeCode
- public TypeCode concrete_base_type()
- public short type_modifier()
- public short member_visibility(int index)
- ServerRequest
- public void set_exception(Any any)
- public void set_result(org.omg.CORBA.Any any)
- public void arguments(org.omg.CORBA.NVList args)
- public String operation()
|
Java プラットフォーム 1.2 |
|||||||||
| 前のパッケージ 次のパッケージ | フレームあり フレームなし | |||||||||