bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo CORBA idltojava コンパイラ

 Previous Next Contents Index View as PDF  

idltojava コマンドの使用

idltojava コンパイラは、OMG によって定義されている IDL と Java のマッピングに基づいて IDL ファイルを Java ソース・コードにコンパイルします。IDL と Java のマッピングの詳細については、「idltojava コンパイラで使用される IDL から Java へのマッピング」を参照してください。

ここでは、以下の内容について説明します。

BEA Tuxedo の idltjava コンパイラに追加された機能の拡張と更新の概要については、「idltojava コンパイラの概要」を参照してください。

 


idltojava コマンドの構文

次に、idltojava コマンドの構文の例を示します。

idltojava [idltojava コマンドのフラグ] [idltojava コマンドのオプション] filename ...

 


idltojava コマンドの説明

idltojava コマンドは、IDL のソース・コードを Java のソース・コードにコンパイルします。その後で、javac コンパイラを使用して Java のソースを Java バイトコードにコンパイルします。idltojava コマンドを使用して、IDL のソース・コードを汎用のクライアント・スタブおよび汎用のサーバ・スケルトンに変換し、コールバックに使用できるようにします。

指定された IDL ファイルにある IDL の宣言は、OMG IDL から Java へのマッピングに指定されているマッピングに従って Java の宣言に変換されます。マッピングの詳細については、「idltojava コンパイラで使用される IDL から Java へのマッピング」を参照してください。

 


クライアントまたは共同クライアント/サーバの IDL ファイルに対する idltojava の実行

CORBA Java クライアントまたは CORBA Java 共同クライアント/サーバのクライアント側 IDL ファイルに idltojava を実行するには、次のコマンドを使用します。

idltojava <flags> <options> <idl-files>

idltojava コマンドには C++ プリプロセッサが必要で、使用を避ける名前を生成するために使用されます。idltojava コマンドは、Java クライアントの ORB に適した形の Java コードを生成します。

注記 リモート共同クライアント/サーバは、コールバック・オブジェクトとして利用されるサーバ・オブジェクトをインプリメントするクライアントです。リモート共同クライアント/サーバのサーバ機能は、BEA Tuxedo サーバのサーバ機能よりも大幅にぜい弱です。共同クライアント/サーバの詳細については、『BEA Tuxedo CORBA サーバ間通信』を参照してください。

 


idltojava コマンドのオプション

注記 この節には、Sun Microsystems, Inc. の idltojava コンパイラのマニュアルに記載されていないオプションの説明が追加されています。表 2-1 を参照してください。

表 2-1 idltojava に追加されたオプション

オプション

説明

-j javaDirectory

生成された Java ファイルの書き込み先となるディレクトリを指定します。このディレクトリ指定は、-p オプションが指定されていても影響を受けません。

-J filesFile

idltojava によって生成されたファイルのリストを filesFile に書き込みます。

-p package-name

すべての生成された Java ファイルをまとめる外部パッケージの名前を指定します。この機能は #pragma javaPackage と同じです。

注記 外部パッケージを含める必要があります。この作業は、コンパイラでは行われません。外部パッケージがない場合でも、idltojava コンパイラは Java ファイルを生成しますが、*.java ファイルのコンパイルを試みると Java コンパイル・エラーが発生することになります。

以下のオプションは、C/C++ コンパイラ (cpp) の同等のオプションと同じです。

-Idirectory

IDL ファイルに含まれる (#include される) ファイルを検索するディレクトリまたはパスを指定します。このオプションはプリプロセッサに渡されます。

-Dsymbol

IDL ファイルの前処理で定義されるシンボルを指定します。このオプションはプリプロセッサに渡されます。

-Usymbol

IDL ファイルの前処理で未定義にされるシンボルを指定します。このオプションはプリプロセッサに渡されます。


 

 


idltojava コマンドのフラグ

フラグを有効にするには、フラグを表示するように指定します。フラグを無効にするには、接頭語として文字列 no- を付けます。たとえば、出力 IDL ファイルに対して C プリプロセッサを実行しないようにするには、-fno-cpp を使用します。

表 2-2に、すべてのフラグの説明を示します。

表 2-2 idltojava コマンドのフラグ

フラグ

説明

-flist-flags

すべての -f フラグの状態の出力を要求します。このフラグのデフォルト値は off です。

-flist -debug-flags

デバッガ・フラグのリストを表示します。

-fcaseless

キーワードおよび識別子に使用される大文字と小文字の区別を無効にします。このことが、大文字と小文字の違いが無視されることではない点に注意してください。識別子を使用する際は、初出の識別子と同様に大文字と小文字をつづる必要があります。たとえば、「Session」と「session」は同じ識別子とされますが、初出に「Session」を使用してから「session」を使用するとエラーになります。これは、「session」の大文字と小文字のつづりが「Session」とは異なるためです。CORBA では、大文字と小文字の区別をこのように定義することで、大文字と小文字を区別するプログラミング言語間の正確なマッピングを可能にしています。このフラグのデフォルト値は on です。このフラグが指定された状態で発生した識別子の不整合の重要度は warning です (デフォルト)。詳細については、-fstrict フラグを参照してください。

-fclient

提供された IDL ファイルのクライアント側の生成を要求します。このフラグのデフォルト値は on です。

-fcpp

IDL ソースが idltojava コンパイラでコンパイルされる前に、C/C++ プリプロセッサで処理されるようにします。このフラグのデフォルト値は on です。

-fignore-duplicates

重複した定義が無視されるように指定します。複数の IDL ファイルを一度にコンパイルする場合に便利です。このフラグのデフォルト値は off です。

-flist-options

コマンド行に指定されているオプションをリストします。このフラグのデフォルト値は off です。

-fmap-included-files

#include プリプロセッサ・ディレクティブにより含まれた定義に合わせて Java ファイルを生成するように指定します。このフラグのデフォルト値は off で、この場合は定義に合わせて Java ファイルが生成されないように指定されています。

-fserver

提供された IDL ファイルのサーバ側の生成を要求します。このフラグのデフォルト値は on です。

-fverbose

コンパイラがコンパイルの進行についてコメントするように指定します。このフラグのデフォルト値は off です。

-fversion

コンパイラが自身のバージョンおよびタイム・スタンプを表示するように指定します。このフラグのデフォルト値は off です。

-fwarn-pragma

未知の #pragma、または指定が不適切な #pragma について警告メッセージを発行するように指定します。このフラグのデフォルト値は on です。

-fwrite-files

派生した Java ファイルが書き込まれるように指定します。このフラグのデフォルト値は on です。ファイルを実際には書き込まないでエラーを調べる場合は、-fno-write-files を指定できます。

-fstrict

以前のリリースでは、-fcaseless フラグが指定された状態で発生した識別子の不整合の重要度は error でした。今回のリリースでは、-fcaseless フラグは以前とまったく同様に識別子の比較を実行しますが、不整合の重要度が error から warning に変更されました。以前のリリースのように、識別子の不整合を error とする CORBA への厳密な準拠が必要な場合は、-fcaseless フラグと共にこのフラグを指定してください。


 

 


IDL ファイルでの #pragma の使用

注記 BEA Tuxedo の idltojava コンパイラによる #pragma の処理は、Sun Microsystems, Inc. の idltojava コンパイラによる処理とは一部異なります。

RepositoryPrefix="prefix"

デフォルトのリポジトリ接頭語は、IDL ファイル自身の最高レベルに #pragma prefix "requested prefix" のように行を記述して要求することもできます。次の行について説明します。

#pragma javaPackage "package"

この行は、デフォルトのパッケージを、呼び出された 1 つのパッケージにラップします。たとえば、M という IDL モジュールをコンパイルすれば、通常は M という名前の Java パッケージが 1 つ作成されます。このモジュール宣言の前に次の行があるとします。

#pragma javaPackage browser

この場合、コンパイラは、パッケージ M を browser というパッケージの内部に作成します。このプラグマは、1 つの IDL モジュールにある定義を複数の製品で利用する場合に便利です。コマンド行オプション -p も、同じ結果を得るために使用できます。次の行について説明します。

#pragma ID scoped-name "IDL:<path>:<version>"

この行は、識別子でスコープが設定された名前のリポジトリ ID を指定します。このプラグマは、IDL ファイルのどこにでも記述できます。このプラグマが複合型、たとえば構造体や共用体の内部に現れる場合は、指定する要素の数だけスコープ指定された名前を定義する必要があります。スコープ指定された名前の形式は、outer_name::name::inner_name です。リポジトリ ID の コンポーネントは、スラッシュ (/) によって区切られた一連の識別子です。 コンポーネントは 10 進数 MM.mm で、MM はメジャー・バージョン番号を、mm はマイナー・バージョン番号を表します。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy