このリリースの JavaTM 2 Platform, Standard Edition, v1.4 には、Object Management Group (OMG) の インタフェース定義言語 (IDL) を読み込んで Java インタフェースに変換またはマッピングするコンパイラ、idlj が組み込まれています。 使用されるコマンド行オプションに従い、idlj コンパイラはスタブ、スケルトン、ヘルパー、ホルダーなどのファイルを必要に応じて作成します。 これらの .java ファイルは、OMG ドキュメント (pdf 形式)『OMG IDL to Java Language Mapping Specification, ptc, 00-01-08』とその改訂版『ptc/00-11-03, The new IDL to Java Mapping Chapter』で指定されているマッピングに従って、IDL ファイルから生成されます。 バージョン 00-01-08 の IDL と Java 言語のマッピングは、CORBA バージョン 2.3.2 に準拠しています。 IDL と Java のマッピングの基本的な概要について必要な場合は、次の「IDL と Java 言語のマッピングの概要」を参照してください。
OMG の仕様『IDL to Java Language Mapping』の中には、次のような要約しにくいトピックがあります。
CORBA のオブジェクトは、OMG IDL (Object Management Group Interface Definition Language) で定義されています。 OMG IDL の構文およびセマンティクスは、"CORBA/IIOP 2.3.1 Specification#の第 3 章で定義されています。 IDL-to-Java コンパイラの idlj は、IDL で定義されたインタフェースを『OMG IDL to Java Language Mapping Specification, ptc, 00-01-08』の定義に従って Java クラスとインタフェースにマップします。それらは、『Official Specifications for CORBA support in J2SE 1.4』で説明されているこのバージョンの Java プラットフォームでサポートされています。
この概要では、OMG IDL のデータ型と Java のデータ型の対応を示します。 OMG IDL は、その名前が示すように、インタフェースを定義しています。 Java のインタフェースと同じように、IDL のインタフェースには、インタフェースのオペレーションの実装 (Java でのメソッド) は含まれていません。 つまり、IDL のインタフェースでは、オペレーションのシグニチャー (オペレーションの名前、戻り値のデータ型、受け取るパラメータのデータ型、および発生する例外) だけが定義されています。 これらのオペレーションを実装するには、Java 言語で記述された Java クラスが提供されていなければなりません。
次の表は、IDL の主要な構成要素とそれに対応する Java の構成要素の一覧です。
IDL のデータ型 |
Java のデータ型 |
---|---|
module |
package |
boolean |
boolean |
char、wchar |
char |
octet |
byte |
string、wstring |
java.lang.String |
short、unsigned short |
short |
long、unsigned long |
int |
long long、unsigned long long |
long |
float |
float |
double |
double |
fixed |
java.math.BigDecimal |
enum、struct、union |
class |
sequence、配列 |
配列 |
interface (非抽象) |
シグニチャーインタフェースとオペレーションインタフェース、ヘルパークラス、ホルダークラス |
interface (抽象) |
シグニチャーインタフェース、ヘルパークラス、ホルダークラス |
constant (インタフェース内にない) |
public interface |
constant (インタフェース内) |
非抽象の Java シグニチャーインタフェースまたは抽象の単独 Java インタフェースにおけるフィールド |
exception |
class |
Any |
org.omg.CORBA.Any |
インタフェース内で入れ子の型宣言 |
"scoped" package |
typedef |
helper classes |
擬似オブジェクト |
擬似 interface |
readonly attribute |
アクセス用メソッド |
readwrite attribute |
アクセスおよび変更用メソッド |
operation |
method |
Java IDL トップへ |