Java プラットフォーム 1.2

パッケージ org.omg.CORBA

OMG CORBA API の JavaTM プログラミング言語 (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 ユーザ定義例外です。
 

パッケージ org.omg.CORBA の説明

OMG CORBA API の JavaTM プログラミング言語 (ORB クラスを含む) へのマッピングを提供します。ORB クラスは、プログラマがフル機能の Object Request Broker (ORB) として使用できるように実装されています。

ORB は、クライアントとサーバ上のメソッドの実装間での、メソッド呼び出しを処理 (仲介) します。クライアントとサーバはネットワーク上のどこにあってもよく、呼び出しと実装は異なるプログラミング言語で記述されている可能性があるため、ORB はこの通信を実現するために内部でさまざまな処理を行います。

一般ユーザに必要な知識

ORB の機能のほとんどはユーザに対して完全に透明であり、CORBA パッケージの主要部分は、ORB によって内部で使用されるクラスで構成されています。そのため、ほとんどのプログラマは、このパッケージの一部分しか直接には使用しません。 実際、多くの場合、プログラマが使用するのは ORB クラスのいくつかのメソッドと例外、場合によっては 1 つのホルダークラスを使用するだけです。

ORB メソッド

次に、一般ユーザが呼び出す可能性のある ORB メソッドを示します。

例外

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 つの例外を次に示します。

org.omg.CORBA.ORBPackage パッケージには、次の 2 つの例外があります。

org.omg.CORBA.DynAnyPackage パッケージには、次の 4 つの例外があります。

ホルダークラス

IDL のインタフェースのオペレーションは、IN パラメータだけでなく OUT パラメータまたは INOUT パラメータもとります。Java プログラミング言語は値でのみパラメータを渡すので、OUT パラメータまたは INOUT パラメータを持ちません。そのため、それらは Holder クラスと呼ばれるものにマッピングされます。IDL の OUT パラメータの代わりに、Java プログラミング言語のメソッドは適切な型の Holder クラスのインスタンスをとります。IDL インタフェースの OUT パラメータまたは INOUT パラメータに割り当てられた結果は、Holder クラスの value フィールドに割り当てられます。

org.omg.CORBA パッケージには、基本的な型 (BooleanHolderLongHolderStringHolder など) ごとに 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 番目のグループ (インタフェースリポジトリに関連) は、それ自身カテゴリとなります。

ORB によって作成されるクラス

最初のグループには、ORB によって作成され、要求オペレーションで使用される情報を格納するクラスがあります。次に、複雑でないものから順にそれらのクラスの一覧を示します。

要求を処理するクラス

2 番目のグループのクラスは、次のように要求を処理します。

フラグとして使用される定数

3 番目のグループには、フラグとして使用される定数を定義するインタフェースがあります。これらのフラグは、NamedValue オブジェクトで、またはメソッドのパラメータとして使用され、次のインタフェースで定義されます。

インタフェースリポジトリインタフェースとクラス

4 番目のグループには、OMG IDL インタフェース ir.idl から、idltojava コンパイラによって生成されるインタフェースリポジトリインタフェースとクラスがあります。インタフェースリポジトリの目的は、ORB がアクセスできるように、そこに格納されているインタフェースを識別することです。各モジュール、型、インタフェース、属性、オペレーション、パラメータ、例外、定数などは、インタフェースリポジトリ API によって完全に記述されます。

ORB はインタフェースリポジトリを要求せず、Java IDL にはそれが含まれていません。

仕様

Java IDL 仕様は、このドキュメントと、次のドキュメントから構成されます。

関連項目

概要、ガイド、およびチュートリアルについては、 を参照してください。

Java IDL で実装されていない CORBA 機能


org.omg.CORBA に含まれている API は、現在の OMG CORBA 仕様に準拠するために提供されるものもありますが、Sun の JDKTM リリースでは実装されていません。これにより、ほかの JDK のライセンス保持者は、標準拡張機能および製品でこの API の実装を提供できるようになります。

このリリースで実装されていない機能または API の概要


org.omg.CORBA パッケージで実装されていない機能のリスト


org.omg.CORBA パッケージで実装されていないインタフェース

org.omg.CORBA パッケージで実装されていないメソッド

導入されたバージョン:
JDK1.2

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.