|
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 |
|||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |