jdk/src/linux/doc/man/ja/idlj.1
changeset 2692 345bc8d65b19
parent 2 90ce3da70b43
child 5506 202f599c92aa
equal deleted inserted replaced
2691:bad7bbf42755 2692:345bc8d65b19
     1 '\" t
     1 ." Copyright 2001-2006 Sun Microsystems, Inc.  All Rights Reserved.
     2 .\"
     2 ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3 .\" Copyright 2001-2006 Sun Microsystems, Inc.  All Rights Reserved.
     3 ."
     4 .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 ." This code is free software; you can redistribute it and/or modify it
     5 .\"
     5 ." under the terms of the GNU General Public License version 2 only, as
     6 .\" This code is free software; you can redistribute it and/or modify it
     6 ." published by the Free Software Foundation.
     7 .\" under the terms of the GNU General Public License version 2 only, as
     7 ."
     8 .\" published by the Free Software Foundation.
     8 ." This code is distributed in the hope that it will be useful, but WITHOUT
     9 .\"
     9 ." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    10 .\" This code is distributed in the hope that it will be useful, but WITHOUT
    10 ." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    11 .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11 ." version 2 for more details (a copy is included in the LICENSE file that
    12 .\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12 ." accompanied this code).
    13 .\" version 2 for more details (a copy is included in the LICENSE file that
    13 ."
    14 .\" accompanied this code).
    14 ." You should have received a copy of the GNU General Public License version
    15 .\"
    15 ." 2 along with this work; if not, write to the Free Software Foundation,
    16 .\" You should have received a copy of the GNU General Public License version
    16 ." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    17 .\" 2 along with this work; if not, write to the Free Software Foundation,
    17 ."
    18 .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18 ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    19 .\"
    19 ." CA 95054 USA or visit www.sun.com if you need additional information or
    20 .\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    20 ." have any questions.
    21 .\" CA 95054 USA or visit www.sun.com if you need additional information or
    21 ."
    22 .\" have any questions.
    22 .TH idlj 1 "04 May 2009"
    23 .\" 
    23 ." Generated from HTML by html2man (author: Eric Armstrong)
    24 .\"
    24 
    25 .\" 
    25 .LP
    26 .TH idlj 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
    26 .SH ""
    27 .SH "名前"
    27 idlj \- IDL\-to\-Java 潟潟ゃ
    28 idlj - IDL-to-Java コンパイラ
    28 .LP
    29 .LP
    29 .RS 3
    30 .B idlj
    30 
    31 は、指定された IDL ファイルから Java バインディングを生成します。
    31 .LP
    32 .SH "形式"
    32 \f3idlj\fP 絎 IDL <ゃ Java ゃ潟c潟違障
    33 .B idlj
    33 .RE
    34 [
    34 .SH "綵√"
    35 .IB options
    35 .LP
    36 ]
    36 
    37 .B idl-file
    37 .LP
    38 .LP
       
    39 .BR idl-file
       
    40 には、Interface Definition Language (IDL) 定義が格納されている
       
    41 ファイルの名前を指定します。
       
    42 .BR Options
       
    43 は任意の順序で指定できますが、
       
    44 .BR idl-file
       
    45 よりも前に指定する必要があります。
       
    46 .SH "機能説明"
       
    47 IDL-to-Java コンパイラは、指定された IDL ファイルに対して Java 
       
    48 バインディングを生成します。
       
    49 バインディングの詳細は、「\f2OMG IDL to Java Language Language Mapping Specification\fP」
       
    50 .fi
       
    51 (http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html) 
       
    52 を参照してください。
       
    53 IDL-to-Java コンパイラの旧リリースのなかには、
       
    54 .BR idltojava という名前が付けられていたものがあります。
       
    55 .SH "クライアントバインディングとサーババインディングの発行"
       
    56 
       
    57 .LP
       
    58 .BR My.idl
       
    59 という名前の IDL ファイルに対して Java バインディングを生成
       
    60 するには、次のように指定します。
       
    61 .LP
       
    62 .RS
       
    63 .ft 3
       
    64 .nf
       
    65 idlj My.idl
       
    66 .fi
       
    67 .ft 1
       
    68 .RE
       
    69 .LP
       
    70 クライアント側のバインディングを生成する上記のコマンドは、
       
    71 次のようにも指定できます。
       
    72 .LP
       
    73 .RS
       
    74 .ft 3
       
    75 .nf
       
    76 idlj -fclient My.idl
       
    77 .fi
       
    78 .ft 1
       
    79 .RE
       
    80 .LP
       
    81 クライアント側のバインディングには、サーバ側のスケルトンは
       
    82 取り込まれていません。インタフェースに対してサーバ側のバインディング
       
    83 を生成するには、次のように指定します。
       
    84 .LP
       
    85 .RS
       
    86 .ft 3
       
    87 .nf
       
    88 idlj -fserver My.idl
       
    89 .fi
       
    90 .ft 1
       
    91 .RE
       
    92 .LP
       
    93 サーバ側のバインディングには、クライアント側のバインディングのほか
       
    94 にスケルトンが取り込まれています。これらはすべて、POA (継承モデル) 
       
    95 クラスです。クライアント側とサーバ側の両方のバインディングを生成する
       
    96 には、以下の等価コマンドのどちらか一方を使用してください。
       
    97 .LP
       
    98 .RS
       
    99 .ft 3
       
   100 .nf
       
   101 idlj -fclient -fserver My.idl
       
   102 .br
       
   103 idlj -fall My.idl
       
   104 .fi
       
   105 .ft 1
       
   106 .RE
       
   107 .LP
       
   108 サーバ側モデルとしては、継承モデルと Tie 委譲モデルの 2 種類を
       
   109 利用できます。
       
   110 .LP
       
   111 デフォルトのサーバ側モデルは、ポータブルサーバント継承モデルです。
       
   112 .BR My.idl
       
   113 でインタフェース My が定義されていると、ファイル 
       
   114 .BR MyPOA.java が生成されます。ユーザは、
       
   115 .BR My に対してその実装を提供する必要があります。この実装は、
       
   116 .BR MyPOA から継承しなければなりません。
       
   117 .LP
       
   118 .BR MyPOA.java は、
       
   119 .na
       
   120 \f2org.omg.PortableServer.Servant\fP 
       
   121 .fi
       
   122 (http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html) 
       
   123 を拡張するストリームベースのスケルトンであり、このスケルトンが実装する 
       
   124 IDL インタフェースに関連した
       
   125 .BR InvokeHandler
       
   126 インタフェースとオペレーションインタフェースを実装します。
       
   127 .LP
       
   128 .na
       
   129 \f2Portable Object Adapter (POA)\fP
       
   130 .fi
       
   131 (http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html) の
       
   132 .BR PortableServer 
       
   133 モジュールは、ネイティブ Servant 型を定義します。Java プログラミング言語では、
       
   134 .BR Servant
       
   135 型は、Java 
       
   136 .BR org.omg.PortableServer.Servant
       
   137 クラスにマップされます。
       
   138 これはすべての
       
   139 .BR POA
       
   140 サーバント実装の基底クラスとして機能し、アプリケーション開発者が呼び出せる
       
   141 多数のメソッドを提供します。また、POA 自体が呼び出したり、サーバント動作を
       
   142 制御するためにユーザが上書きしたりできるメソッドも提供します。
       
   143 .LP
       
   144 継承モデルには、J2SE 1.4 より前のバージョンの Java プログラミング言語
       
   145 と互換性のあるサーバ側バインディングを生成するために
       
   146 .BR -oldImplBase
       
   147 フラグを使用するというオプションもあります。
       
   148 \f2\-oldImplBase\fP フラグの使用は非標準であることに注意してください。これらの API はまもなく非推奨となります。このフラグを使用するのは、J2SE 1.3 で記述された既存のサーバとの互換性を確保する必要がある場合だけにしてください。その場合、既存の MAKEFILE を変更し、\f2\-oldImplBase\fP フラグを \f2idlj\fP コンパイラに追加する必要があります。そうしないと、POA ベースのサーバ側マッピングが生成されてしまいます。
       
   149 下位互換を維持したサーバ側
       
   150 バインディングを生成するには、次のように指定します。
       
   151 .LP
       
   152 .RS
       
   153 .ft 3
       
   154 .nf
       
   155 idlj -fclient -fserver -oldImplBase My.idl
       
   156 .br
       
   157 idlj -fall -oldImplBase My.idl
       
   158 .fi
       
   159 .ft 1
       
   160 .RE
       
   161 .LP
       
   162 .BR My.idl
       
   163 内でインタフェース My が定義されていると、ファイル 
       
   164 .I _MyImpleBase.java
       
   165 が生成されます。ユーザは、
       
   166 .BR My
       
   167 に対してその実装を提供する必要があります。この実証は、
       
   168 .I _MyImplBase
       
   169  から継承しなければなりません。
       
   170 .LP
       
   171 もう一方のサーバ側モデルは、Tie モデルと呼ばれます。これは、
       
   172 委譲モデルです。Tie モデルは Tie とスケルトンを同時には生成
       
   173 できないため、これらは別々に生成する必要があります。次のコ
       
   174 マンドは、Tie モデルに対してバインディングを生成します。
       
   175 .LP
       
   176 .RS
       
   177 .ft 3
       
   178 .nf
       
   179 idlj -fall My.idl
       
   180 .br
       
   181 idlj -fallTIE My.idl
       
   182 .fi
       
   183 .ft 1
       
   184 .RE
       
   185 .LP
       
   186 インタフェース 
       
   187 .BR My
       
   188 の場合、2 つめのコマンドは 
       
   189 .BR MyPOATie.java
       
   190  を生成します。
       
   191 .BR MyPOATie
       
   192 のコンストラクタは、delegate を受け取ります。
       
   193 この例ではデフォルトの POA モデルを使用しているので、コンストラクタは \f2poa\fP も必要とします。
       
   194 ユーザは、delegate 
       
   195 に対して実装を提供する必要があります。ただし、インタフェース 
       
   196 .BR MyOperations
       
   197 を継承すればよく、ほかのクラスから継承する必要はありません。
       
   198 しかし、この実装を ORB と共に使用するには、
       
   199 .BR MyPOATie 
       
   200 内に実装をラップする必要があります。例を示します。
       
   201 .nf
    38 .nf
   202 \f3
    39 \f3
   203 .fl
    40 .fl
   204     ORB orb = ORB.init(args, System.getProperties());
    41 idlj [ \fP\f3options\fP\f3 ] \fP\f4idl\-file\fP\f3
   205 .fl
       
   206 
       
   207 .fl
       
   208     // rootpoa への参照を取得し、POAManager を有効にします
       
   209 .fl
       
   210     POA rootpoa = (POA)orb.resolve_initial_references("RootPOA");
       
   211 .fl
       
   212     rootpoa.the_POAManager().activate();
       
   213 .fl
       
   214 
       
   215 .fl
       
   216     // サーバントを作成し、それを ORB に登録します
       
   217 .fl
       
   218     MyServant myDelegate = new MyServant();
       
   219 .fl
       
   220     myDelegate.setORB(orb); 
       
   221 .fl
       
   222 
       
   223 .fl
       
   224     // Tie を作成します。サーバントが delegate になります。
       
   225 .fl
       
   226     MyPOATie tie = new MyPOATie(myDelegate, rootpoa);
       
   227 .fl
       
   228 
       
   229 .fl
       
   230     // Tie の objectRef を取得します
       
   231 .fl
       
   232     My ref = tie._this(orb);
       
   233 .fl
    42 .fl
   234 \fP
    43 \fP
   235 .fi
    44 .fi
   236 
    45 
   237 .LP
    46 .LP
   238 実装をほかの実装から継承しなければならない場合は、標準の継承モデル
    47 .LP
   239 の代わりに Tie モデルを使用することもできます。Java は任意の数の
    48 \f2idl\-file\fP ゃ潟帥с若劫臂荐茯 (IDL) 絎臂ャc<ゃс\f2options\fP 篁紙с\f2idl\-file\fP 絎違障
   240 インタフェース継承を認めていますが、クラスの継承に使用できる
    49 .LP
   241 スロットは 1 つだけです。継承モデルを使用すると、このスロットが占
    50 .SH "茯"
   242 有されます。Tie モデルを使用すると、スロットをユーザ自身の使用の
    51 .LP
   243 ために解放できます。ただし、一定レベルの間接参照を引き起こすと
    52 
   244 いう欠点があります。つまり、メソッドを呼び出すと、余分なメソッド呼
    53 .LP
   245 び出しが 1 つ発生します。
    54 IDL\-to\-Java 潟潟ゃ絎 IDL <ゃゃ Java ゃ潟c潟違障 ゃ潟c潟違荅括完
   246 .LP
    55 .na
   247 1.4 よりも前の J2SE バージョンで IDL-to-Java 言語
    56 \f2OMG IDL to Java Language Mapping Specification\fP @
   248 マッピングのバージョンと互換性があるサーバ側の Tie モデルバインディングを生成
    57 .fi
   249 するには、次のように指定します。
    58 http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html сIDL\-to\-Java 潟潟ゃ篁ュ若鴻筝\f2idltojava\fP c障 
   250 .LP
    59 .SS 
   251 .RS
    60 ゃ≪潟ゃ潟c潟違潟泣若若ゃ潟c潟違肴
   252 .ft 3
    61 .LP
   253 .nf
    62 .RS 3
   254 idlj -oldImplBase -fall My.idl
    63 
   255 .br
    64 .LP
   256 idlj -oldImplBase -fallTIE My.idl
    65 My.idl  IDL <ゃ絲障 Java ゃ潟c潟違罨<潟潟絎茵障 \f2idlj My.idl\fP
   257 .fi
    66 .LP
   258 .ft 1
    67 ゃ≪潟眼ゃ潟c潟違障 潟潟罨<潟潟膈箴<с \f2idlj \fP\f4\-fclient\fP\f2 My.idl\fP
   259 .RE
    68 .LP
   260 .LP
    69 ゃ≪潟眼ゃ潟c潟違泣若弱眼鴻宴潟腟粋昭障障ゃ潟帥с若鴻絲障泣若弱眼ゃ潟c潟違罨<潟潟絎茵障 \f2idlj \fP\f4\-fserver\fP\f2 My.idl\fP
   261 インタフェース
    70 .LP
   262 .BR My
    71 泣若弱眼ゃ潟c潟違ゃ≪潟眼ゃ潟c潟違鴻宴潟腟粋昭障障 鴻 \f2POA\fP (膓帥≪) 鴻сゃ≪潟眼泣若弱眼筝≧鴻ゃ潟c潟違翫罨<潟潟 (膈箴) < 1 ゃ篏睡障 \f2idlj \fP\f4\-fclient \-fserver\fP\f2 My.idl\fP
   263 の場合、このコマンドは
    72 .br
   264 .I My_Tie.java
    73 \f2idlj \fP\f4\-fall\fP\f2 My.idl\fP
   265 を生成します。
    74 .LP
   266 .I My_Tie
    75 .LP
   267 のコンストラクタは、
    76 泣若弱眼≪2 ゃ≪純с膓帥≪Tie 紮茘蚊≪с
   268 .BR impl
    77 .LP
   269 を受け取ります。ユーザは、
    78 .LP
   270 .BR impl
    79 泣若弱眼≪腱紙純泣若潟膓帥≪с\f2My.idl\fP  \f2My\fP ゃ潟帥с若鴻絎臂翫\f2MyPOA.java\fP <ゃ障\f2My\fP 絲障絎茖箴絎茖 \f2_MyPOA\fP 膓帥綽荀障
   271 に対して実装を提供する必要があります。ただし、インタフェース 
    80 .LP
   272 .BR HelloOperations
    81 .LP
   273 を継承すればよく、ほかのクラスから継承する必要はありません。
    82 \f2MyPOA.java\fP  
   274 しかし、この実装を ORB と共に使用するには、
    83 .na
   275 .BR My_Tie
    84 \f2org.omg.PortableServer.Servant\fP @
   276  内に実装をラップする必要があります。例を示します。
    85 .fi
   277 .LP
    86 http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html ≦宍鴻若若鴻鴻宴潟с鴻宴潟絎茖 IDL ゃ潟帥с若鴻∫d \f2InvokeHandler\fP ゃ潟帥с若鴻若激с潟ゃ潟帥с若鴻絎茖障
       
    87 .LP
       
    88 .LP
       
    89 .na
       
    90 \f2Portable Object Adapter (POA)\fP @
       
    91 .fi
       
    92 http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html  \f2PortableServer\fP ≪吾ャ若ゃc \f2Servant\fP 絎臂障Java 違潟域茯с\f2Servant\fP Java  \f2org.omg.PortableServer.Servant\fP 鴻潟違障 POA 泣若潟絎茖阪鴻紊違<純箴障 <純≪宴若激с潟違若喝冴сPOA 荳若喝冴翫c泣若潟篏九勝若吟若若若ゃ障
       
    93 .LP
       
    94 .LP
       
    95 膓帥≪ 1 ゃ激с潟\f2\-oldImplBase\fP 違篏睡J2SE 1.4 若吾с潟 Java 違潟域茯篋с泣若弱眼ゃ潟c潟違с\f2\-oldImplBase\fP 違篏睡罔羣羈с障 API ィ絅障違篏睡J2SE 1.3 ц菴違√泣若若篋с篆ゅ翫с翫√ MAKEFILE 紊眼 \f2idlj\fP 潟潟ゃ \f2\-oldImplBase\fP 違菴遵綽荀障 違菴遵翫POA 若鴻泣若弱眼潟違障筝篏篋с泣若弱眼ゃ潟c潟違罨<潟潟篏睡障
       
    96 .LP
       
    97 \f2idlj \fP\f4\-fclient \-fserver\fP\f2 \fP\f4\-oldImplBase\fP\f2 My.idl\fP
       
    98 .br
       
    99 \f2idlj \fP\f4\-fall\fP\f2 \fP\f4\-oldImplBase\fP\f2 My.idl\fP
       
   100 .LP
       
   101 \f2My.idl\fP  \f2My\fP ゃ潟帥с若鴻絎臂翫\f2_MyImplBase.java\fP <ゃ障\f2My\fP 絲障絎茖箴絎茖 \f2_MyImplBase\fP 膓帥違障  
       
   102 .LP
       
   103  1 ゃ泣若弱眼≪Tie ≪若違с泣若弱眼≪紮茘蚊≪сTie 鴻宴潟сャ違障罨<潟潟cTie ≪ゃ潟c潟違障
       
   104 .LP
       
   105 \f2idlj \fP\f4\-fall\fP\f2 My.idl\fP
       
   106 .br
       
   107 \f2idlj \fP\f4\-fallTIE\fP\f2 My.idl\fP
       
   108 .LP
       
   109 \f2My\fP ゃ潟帥с若鴻翫筝荐 2 潟潟\f2MyPOATie.java\fP 障\f2MyPOATie\fP 潟潟鴻帥\f2delegate\fP 障箴с POA ≪篏睡潟潟鴻帥 \f2poa\fP 綽荀с\f2delegate\fP 絲障絎茖箴違障絎茖 \f2MyOperations\fP ゃ潟帥с若鴻膓帥綽荀с篁鴻膓帥綽荀障絎茖 ORB 筝膩篏睡\f2MyPOATie\fP у茖違障違罨<障  
   278 .nf
   110 .nf
   279 \f3
   111 \f3
   280 .fl
   112 .fl
   281     ORB orb = ORB.init(args, System.getProperties());
   113     ORB orb = ORB.init(args, System.getProperties());
   282 .fl
   114 .fl
   283 
   115 
   284 .fl
   116 .fl
   285     // サーバントを作成し、それを ORB に登録します
   117     // Get reference to rootpoa & activate the POAManager
       
   118 .fl
       
   119     POA rootpoa = (POA)orb.resolve_initial_references("RootPOA");
       
   120 .fl
       
   121     rootpoa.the_POAManager().activate();
       
   122 .fl
       
   123 
       
   124 .fl
       
   125     // create servant and register it with the ORB
   286 .fl
   126 .fl
   287     MyServant myDelegate = new MyServant();
   127     MyServant myDelegate = new MyServant();
   288 .fl
   128 .fl
   289     myDelegate.setORB(orb); 
   129     myDelegate.setORB(orb); 
   290 .fl
   130 .fl
   291 
   131 
   292 .fl
   132 .fl
   293     // Tie を作成します。サーバントが delegate になります。
   133     // create a tie, with servant being the delegate.
   294 .fl
   134 .fl
   295     MyPOATie tie = new MyPOATie(myDelegate);
   135     MyPOATie tie = new MyPOATie(myDelegate, rootpoa);
   296 .fl
   136 .fl
   297 
   137 
   298 .fl
   138 .fl
   299     // Tie の objectRef を取得します
   139     // obtain the objectRef for the tie
   300 .fl
   140 .fl
   301     My ref = tie._this(orb);
   141     My ref = tie._this(orb);
   302 .fl
   142 .fl
   303 \fP
   143 \fP
   304 .fi
   144 .fi
   305 
   145 
   306 .LP
   146 .LP
   307 .SH "発行されたファイルの代替場所の指定"
   147 篁絎茖膓帥違翫罔羣膓帥≪с Tie ≪篏睡障Java 翫ゃ潟帥с若鴻膓帥違狗障鴻膓帥篏睡с鴻 1 ゃс膓帥≪篏睡翫鴻障Tie ≪篏睡翫鴻篏睡若吟若т戎с障・с 1 ゅャ罨鴻障ゃ障<純若喝冴篏<純若喝冴榊障 
   308 .br
   148 .LP
   309 発行されたファイルを現在のディレクトリ以外のディレクトリに保存したい場合は、
   149 IDL 若吾с潟 J2SE 1.4 若吾с潟 Java 荐茯吾潟違篋с泣若弱眼 Tie ≪ゃ潟c潟違罨<潟潟篏睡障
   310 次のようにコンパイラを呼び出してください。
   150 .LP
   311 .LP
   151 \f2idlj \fP\f4\-oldImplBase\fP\f2 \fP\f4\-fall\fP\f2 My.idl\fP
   312 .RS
   152 .br
   313 .ft 3
   153 \f2idlj \fP\f4\-oldImplBase\fP\f2 \fP\f4\-fallTIE\fP\f2 My.idl\fP
   314 .nf
   154 .LP
   315 idlj -td /altdir My.idl
   155 .LP
   316 .fi
   156 \f2My\fP ゃ潟帥с若鴻翫 \f2My_Tie.java\fP 障\f2My_Tie\fP 潟潟鴻帥\f2impl\fP 障\f2impl\fP 絲障絎茖箴違障絎茖 \f2HelloOperations\fP ゃ潟帥с若鴻膓帥綽荀с篁鴻膓帥綽荀障絎茖 ORB 筝膩篏睡\f2My_Tie\fP у茖違障違罨<障
   317 .ft 1
   157 .LP
   318 .RE
       
   319 .LP
       
   320 インタフェース 
       
   321 .BR My
       
   322 の場合、バインディングは
       
   323 .BR ./My.java
       
   324  ではなく 
       
   325 .BR /altdir/My.java
       
   326 などに対して発行されます。
       
   327 .SH "インクルードファイルの代替場所の指定"
       
   328 .BR My.idl
       
   329 にほかの idl ファイル、
       
   330 .BR MyOther.idl 
       
   331 が取り込まれている場合、コンパイラは 
       
   332 .BR MyOther.idl 
       
   333 がローカルディレクトリに存在すると見なします。たとえば、
       
   334 .BR MyOther.idl 
       
   335
       
   336 .BR /includes
       
   337 に存在する場合は、次のコマンドでコンパイラを呼び出します。
       
   338 .LP
       
   339 .RS
       
   340 .ft 3
       
   341 .nf
       
   342 idlj -i /includes My.idl
       
   343 .fi
       
   344 .ft 1 
       
   345 .RE
       
   346 .LP
       
   347 .BR たとえば、My.idl が
       
   348 .BR /moreIncludes
       
   349 に存在する
       
   350 .BR Another.idl 
       
   351 も取り込んでいる場合は、次のコマンドでコンパイラを呼び出します。
       
   352 .LP
       
   353 .RS
       
   354 .ft 3
       
   355 .nf
       
   356 idlj -i /includes -i /moreIncludes My.idl
       
   357 .fi
       
   358 .ft 1 
       
   359 .RE
       
   360 .LP
       
   361 この形式でファイルを取り込むと、コマンドが非常に長くなることがあります。
       
   362 このため、インクルードファイルの検索場所をコンパイラに知らせる方法が
       
   363 別に用意されています。この方法は、環境変数の概念に似ています。まず、
       
   364 CLASSPATH にリストされているディレクトリ内に、
       
   365 .BR idl.config
       
   366 という名前のファイルを作成します。そして、
       
   367 .BR idl.config
       
   368 内に次の形式の行を 1 つ作成します。
       
   369 .LP
       
   370 .RS
       
   371 .ft 3
       
   372 .nf
       
   373 includes=/includes;/moreIncludes
       
   374 .fi
       
   375 .ft 1 
       
   376 .RE
       
   377 .LP
       
   378 コンパイラはこのファイルを見つけ、インクルードリストに読み込みます。
       
   379 この例では 2 つのディレクトリ間の区切り文字はセミコロン (;) であること
       
   380 に注意してください。
       
   381 この区切り文字はプラットフォームによって異なります。Windows プラットフォームではセミコロンを使用し、UNIX プラットフォームではコロンを使用する、などのようになります。
       
   382 インクルードの詳
       
   383 細は、
       
   384 .na
       
   385 \f2CLASSPATH\ のドキュメント (Solaris: 
       
   386 .fi
       
   387 http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html) 
       
   388 (Windows: 
       
   389 .fi
       
   390 http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html) 
       
   391 を参照してください。
       
   392 .SH "インクルードファイルに対するバインディングの発行"
       
   393 デフォルトでは、コマンド行 idl ファイルに定義されているインタフェース、
       
   394 構造体などに対してのみ、Java バインディングが生成されます。インクルード
       
   395 ファイルに定義されているタイプの Java バインディングは生成されません。
       
   396 例として、次の 2 つの idl ファイルを考えてみましょう。
       
   397 .TP
       
   398 .B My.idl
       
   399 .LP
       
   400 .RS
       
   401 #include <MyOther.idl> 
       
   402 .br
       
   403 interface My 
       
   404 .br
       
   405 { 
       
   406 .br
       
   407 }; 
       
   408 .RE
       
   409 .TP
       
   410 .B MyOther.idl
       
   411 .LP
       
   412 .RS
       
   413 interface MyOther 
       
   414 .br
       
   415 { 
       
   416 .br
       
   417 };
       
   418 .RE
       
   419 .LP
       
   420 次のコマンドは、
       
   421 .BR My
       
   422 に対する Java バインディングしか生成しません。
       
   423 .LP
       
   424 .RS
       
   425 .ft 3
       
   426 .nf
       
   427 idlj My.idl
       
   428 .fi
       
   429 .ft 1
       
   430 .RE
       
   431 .LP
       
   432 .BR My.idl
       
   433 内に定義されているすべてのタイプ、および 
       
   434 .BR My.idl
       
   435 に取り込まれているファイル (この例では 
       
   436 .BR MyOther.idl
       
   437 ) 内に定義されているすべてのタイプを生成するには、
       
   438 次のコマンドを使用してください。
       
   439 .LP
       
   440 .RS
       
   441 .ft 3
       
   442 .nf
       
   443 idlj -emitAll My.idl 
       
   444 .fi
       
   445 .ft 1
       
   446 .RE
       
   447 .LP
       
   448 このデフォルトの規則については、次の点に注意する必要があります。
       
   449 グローバルスコープに出現する 
       
   450 .BR #include
       
   451 文は、記述どおりに処理されます。これらの 
       
   452 .BR #include
       
   453 文は、インポート文と見なすことができます。一部の囲みスコープ内に
       
   454 出現する #include 文は、通常の 
       
   455 .BR #include
       
   456 文として扱われます。つまり、インクルードファイル内のコードは
       
   457 オリジナルファイル内に出現しているかのように扱われ、これに
       
   458 対して Java バインディングが発行されます。例を示します。
       
   459 .TP
       
   460 .B My.idl
       
   461 .LP
       
   462 .RS
       
   463 #include <MyOther.idl> 
       
   464 .br
       
   465 interface My 
       
   466 .br
       
   467 { 
       
   468 .br
       
   469   #include <Embedded.idl> 
       
   470 .br
       
   471 }; 
       
   472 .RE
       
   473 .TP
       
   474 .B MyOther.idl
       
   475 .LP
       
   476 .RS
       
   477 interface MyOther 
       
   478 .br
       
   479 { 
       
   480 .br
       
   481 }; 
       
   482 .RE
       
   483 .TP
       
   484 .B Embedded.idl
       
   485 .LP
       
   486 .RS
       
   487 enum E {one, two, three};
       
   488 .RE
       
   489 .LP
       
   490 次のコマンドを実行すると、
       
   491 .LP
       
   492 .RS
       
   493 .ft 3
       
   494 .nf
       
   495 idlj My.idl
       
   496 .fi
       
   497 .ft 1
       
   498 .RE
       
   499 .LP
       
   500 以下の Java ファイルのリストが生成されます。
       
   501 .LP
       
   502 .B ./MyHolder.java\fP
       
   503 .br
       
   504 .B ./MyHelper.java\fP
       
   505 .br
       
   506 .B ./_MyStub.java\fP
       
   507 .br
       
   508 .B ./MyPackage\fP
       
   509 .br
       
   510 .B ./MyPackage/EHolder.java\fP
       
   511 .br
       
   512 .B ./MyPackage/EHelper.java\fP
       
   513 .br
       
   514 .B ./MyPackage/E.java\fP
       
   515 .br
       
   516 .B ./My.java\fP
       
   517 .LP
       
   518 .BR MyOther.java
       
   519 は生成されないことに注意してください。これは、インポートに類似した
       
   520 .BR #include
       
   521 で定義されているためです。しかし、通常の
       
   522 .BR #include
       
   523 に定義された 
       
   524 .BR E.java
       
   525 は生成されます。
       
   526 .BR Embedded.idl
       
   527 はインタフェース My のスコープ内に取り込まれているため、
       
   528 .BR My
       
   529 のスコープ内 (つまり 
       
   530 .BR MyPackage
       
   531 ) に生成されます。
       
   532 .LP
       
   533 上記の例で 
       
   534 .BI -emitAll
       
   535 フラグが使用されていた場合は、すべてのインクルードファイル内に
       
   536 定義されているすべてのタイプが発行されます。
       
   537 .SH "パッケージ接頭辞の挿入"
       
   538 あなたが次の IDL ファイルを作成した ABC という名の企業に勤務していると
       
   539 仮定してください。
       
   540 .TP
       
   541 .B Widgets. idl
       
   542 module Widgets 
       
   543 .br
       
   544 { 
       
   545 .br
       
   546   interface W1 {...}; 
       
   547 .br
       
   548   interface W2 {...}; 
       
   549 .br
       
   550 }; 
       
   551 .LP
       
   552 このファイルに対して IDL-to-Java コンパイラを実行すると、パッケージ
       
   553 Widgets 内の W1 と W2 に対して Java バインディングが生成されます。
       
   554 しかし、業界規約では、企業のパッケージは 
       
   555 .BR com.<company name>
       
   556 という名前のパッケージ内に配置しなければならないと規定されています。
       
   557 そのため、この 
       
   558 .BR Widgets
       
   559 パッケージのままでは不十分です。規定に従うには、
       
   560 .BR com.abc.Widgets
       
   561 でなければなりません。
       
   562 .BR Widgets
       
   563 モジュールにこのパッケージ接頭辞を配置するには、次のコマンドを
       
   564 実行してください。
       
   565 .LP
       
   566 .RS
       
   567 .ft 3
       
   568 .nf
       
   569 idlj -pkgPrefix Widgets com.abc Widgets.idl
       
   570 .fi
       
   571 .ft 1
       
   572 .RE
       
   573 .LP
       
   574 .BR Widgets.idl 
       
   575 を取り込んでいる IDL ファイルが存在する場合は、そのコマンド内にも 
       
   576 .BI \-pkgPrefix 
       
   577 フラグを指定する必要があります。このフラグを指定しないと、IDL ファイルは
       
   578 .BR com.abc.Widgets
       
   579 パッケージではなく 
       
   580 .BR Widgets
       
   581 パッケージを検索します。
       
   582 .LP
       
   583 接頭辞を必要とするこれらのパッケージが多数存在する場合は、前述した 
       
   584 .BR idl.config
       
   585 ファイルに配置する方が簡単でしょう。各パッケージ接頭辞行は、次の書式で記述します。
       
   586 .LP
       
   587 .RS
       
   588 .ft 3
       
   589 .nf
       
   590 PkgPrefix.<type>=<prefix>
       
   591 .fi
       
   592 .ft 1
       
   593 .RE
       
   594 .LP
       
   595 この書式に従うと、上記例の行は次のようになります。
       
   596 .LP
       
   597 .RS
       
   598 .ft 3
       
   599 .nf
       
   600 PkgPrefix.Widgets=com.abc
       
   601 .fi
       
   602 .ft 1
       
   603 .RE
       
   604 .LP
       
   605 このオプションを使用しても、リポジトリ ID には影響を与えません。
       
   606 .SH "コンパイル前のシンボルの定義"
       
   607 バインディング内にデバッグコードを取り込む場合などに IDL ファイル内
       
   608 にコンパイル用のシンボルが定義されていないときは、それらのシンボル
       
   609 を定義する必要があることがあります。次のコマンド
       
   610 .LP
       
   611 .RS
       
   612 .ft 3
       
   613 .nf
       
   614 idlj -d MYDEF My.idl
       
   615 .fi
       
   616 .ft 1
       
   617 .RE
       
   618 .LP
       
   619 は、My.idl 内に 
       
   620 .BR #define
       
   621 .BR MYDEF
       
   622 という行を含めるのと同じです。
       
   623 .SH "既存のバインディングの保持"
       
   624 Java バインディングファイルが既に存在する場合は、
       
   625 .BI \-keep 
       
   626 フラグを使用してコンパイラによる上書きを防止できます。デフォルトでは、
       
   627 既に存在するかどうかにかかわらずすべてのファイルが生成されます。
       
   628 ファイルをカスタマイズ (カスタマイズはその内容がよほど適切でない限り推奨
       
   629 されません) してある場合は、
       
   630 .BI \-keep 
       
   631 オプションが非常に役立ちます。次のコマンド
       
   632 .LP
       
   633 .RS
       
   634 .ft 3
       
   635 .nf
       
   636 idlj -keep My.idl
       
   637 .fi
       
   638 .ft 1
       
   639 .RE
       
   640 .LP
       
   641 は、まだ存在していないすべてのクライアント側バインディングを発行します。
       
   642 .SH "コンパイルの進捗の表示"
       
   643 IDL-to-Java コンパイラは、その実行段階でステータスメッセージを
       
   644 生成します。この生成を詳細 (verbose) モードにするには、
       
   645 .BR -v
       
   646 オプションを使用してください。
       
   647 .LP
       
   648 .RS
       
   649 .ft 3
       
   650 .nf
       
   651 idlj -v My.idl
       
   652 .fi
       
   653 .ft 1
       
   654 .RE
       
   655 .LP
       
   656 デフォルトでは、コンパイラは詳細モードで動作しません。
       
   657 .SH "バージョン情報の表示"
       
   658 IDL-to-Java コンパイラのビルドバージョンを表示するには、コマンド行で
       
   659 .BI \-version
       
   660 オプションを指定してください。
       
   661 .LP
       
   662 .RS
       
   663 .ft 3
       
   664 .nf
       
   665 idlj -version 
       
   666 .fi
       
   667 .ft 1
       
   668 .RE
       
   669 .LP
       
   670 コンパイラが生成したバインディング内に、バージョン情報も表示されます。
       
   671 コマンド行に指定されるその他のオプションは無視されます。
       
   672 .SH "オプション"
       
   673 .TP
       
   674 .BI \-d " symbol"
       
   675 これは、IDL ファイルに次の行を指定するのと同じです。
       
   676 .LP
       
   677 .RS
       
   678 .ft 3
       
   679 .nf
       
   680 #define symbol
       
   681 .fi
       
   682 .ft 1
       
   683 .RE
       
   684 .TP
       
   685 .BI \-emitAll
       
   686 .BR #include
       
   687 ファイル内に指定されているものも含め、すべてのタイプを発行します。
       
   688 .TP
       
   689 .BI \-fside
       
   690 発行するバインディングを定義します。
       
   691 .BI side
       
   692 には、
       
   693 .BR client
       
   694
       
   695 .BR server
       
   696
       
   697 .BR serverTIE
       
   698
       
   699 .BR all
       
   700
       
   701 .BR allTIE
       
   702 のうちいずれか 1 つを指定します。
       
   703 .BR -fserverTIE
       
   704
       
   705 .BR -fallTIE
       
   706 オプションを指定すると、委譲モデルスケルトンが発行されます。
       
   707 フラグを指定しない場合は、
       
   708 .BR -fclient
       
   709 と見なされます。
       
   710 .TP
       
   711 .BI \-i " include-path"
       
   712 デフォルトでは、現在のディレクトリでインクルードファイルが
       
   713 検索されます。このオプションを使用すると、ほかのディレクトリを
       
   714 追加できます。 
       
   715 .TP
       
   716 .BI \-keep
       
   717 生成されるファイルが既に存在する場合、既存ファイルを上書きしません。
       
   718 デフォルトでは、既存ファイルが上書きされます。
       
   719 .TP
       
   720 .BI \-noWarn
       
   721 警告メッセージを表示しないようにします。
       
   722 .TP
       
   723 .BI \-oldImplBase
       
   724 1.4 より前の JDK ORB と互換性のあるスケルトンを生成します。
       
   725 デフォルトでは、POA 継承モデルのサーバ側バインディングが生成されます。
       
   726 このオプションは、
       
   727 .BR ImplBase
       
   728 継承モデルクラスであるサーバ側バインディングを生成することによって、
       
   729 旧バージョンの Java プログラミング言語との下位互換性を提供します。
       
   730 .TP
       
   731 .BI \-pkgPrefix " type prefix"
       
   732 ファイルスコープで 
       
   733 .BI type 
       
   734 が検出された場合、そのタイプに対して生成されるすべてのファイルについて、
       
   735 生成される Java パッケージ名に
       
   736 .BI prefix 
       
   737 という接頭辞を付けます。
       
   738 .BI type 
       
   739 は、トップレベルモジュールの単純名か、モジュールの外部で定義された 
       
   740 IDL タイプの単純名です。
       
   741 .TP
       
   742 .BI \-pkgTranslate " type package"
       
   743 特定の識別子内でモジュール名 \f2type\fP が見つかった場合、生成された Java パッケージ内のすべてのファイルに対して、その識別子内のモジュール名を \f2package\fP で置き換えます。
       
   744 .BR pkgPrefix 
       
   745 変更が初めに行われることに注意してください。
       
   746 .BI type 
       
   747 はトップレベルモジュールの単純名か、モジュールの外部で定義された IDL タイプの
       
   748 単純名のいずれかであり、パッケージのフルネームと正確に一致する必要があります。
       
   749 
       
   750 .LP
       
   751 特定の識別子に一致する変換が 2 つ以上見つかった場合、もっとも長い一致が選択されます。たとえば、引数を次のように指定したとします。
       
   752 .nf
   158 .nf
   753 \f3
   159 \f3
   754 .fl
   160 .fl
   755   \-pkgTranslate foo bar \-pkgTranslate foo.baz buzz.fizz
   161     ORB orb = ORB.init(args, System.getProperties());
       
   162 .fl
       
   163 
       
   164 .fl
       
   165     // create servant and register it with the ORB
       
   166 .fl
       
   167     MyServant myDelegate = new MyServant();
       
   168 .fl
       
   169     myDelegate.setORB(orb); 
       
   170 .fl
       
   171 
       
   172 .fl
       
   173     // create a tie, with servant being the delegate.
       
   174 .fl
       
   175     MyPOATie tie = new MyPOATie(myDelegate);
       
   176 .fl
       
   177 
       
   178 .fl
       
   179     // obtain the objectRef for the tie
       
   180 .fl
       
   181     My ref = tie._this(orb);
   756 .fl
   182 .fl
   757 \fP
   183 \fP
   758 .fi
   184 .fi
   759 .LP
   185 
   760 このとき、次の変換が実行されます。
   186 .LP
       
   187 .RE
       
   188 .SS 
       
   189 肴<ゃ篁f推臀絎
       
   190 .LP
       
   191 .RS 3
       
   192 
       
   193 .LP
       
   194 肴<ゃ潟c篁ュc臀罨<潟潟с潟潟ゃ若喝冴障 
       
   195 .RS 3
       
   196 
       
   197 .LP
       
   198 \f2idlj \fP\f4\-td /altdir\fP\f2 My.idl\fP
       
   199 .RE
       
   200 \f2My\fP ゃ潟帥с若鴻翫ゃ潟c潟違\f2./My.java\fP с\f2/altdir/My.java\fP 肴障
       
   201 .RE
       
   202 .SS 
       
   203 ゃ潟若<ゃ篁f推臀絎
       
   204 .LP
       
   205 .RS 3
       
   206 
       
   207 .LP
       
   208 \f2My.idl\fP  1 ゃ IDL <ゃ \f2MyOther.idl\fP ゃ潟若翫潟潟ゃ若c \f2MyOther.idl\fP 喝障<ゃ \f2/includes\fP 翫罨<潟潟с潟潟ゃ若喝冴障 \f2idlj \fP\f4\-i /includes\fP\f2 My.idl\fP
       
   209 .LP
       
   210 障 \f2My.idl\fP  \f2/moreIncludes\fP  \f2Another.idl\fP ゃ潟若с違罨<潟潟с潟潟ゃ若喝冴障 \f2idlj \fP\f4\-i /includes \-i /moreIncludes\fP\f2 My.idl\fP
       
   211 .LP
       
   212 綵√сゃ潟若絎潟潟激茲障 сゃ潟若<ゃ罎膣≪贋潟潟ゃ腓冴ャ号障号医紊違鴻篌若障CLASSPATH 鴻c \f2idl.config\fP <ゃ篏障 \f2idl.config\fP 筝罨<綵√茵ャ障  \f2includes=/includes;/moreIncludes\fP
       
   213 .LP
       
   214 潟潟ゃ<ゃ罎膣≪ゃ潟若鴻茯粋昭帥障箴сc阪絖祉潟 (;) c障阪絖若c違障違Windows 若с祉潟潟сUnix 若с潟潟с \f2ゃ潟若\fP荅括完ゃ
       
   215 .na
       
   216 \f2CLASSPATH 荐絎\fP @
       
   217 .fi
       
   218 http://java.sun.com/javase/6/docs/technotes/tools/index.html#general с
       
   219 .RE
       
   220 .SS 
       
   221 ゃ潟若<ゃ絲障ゃ潟c潟違肴
       
   222 .LP
       
   223 .RS 3
       
   224 
       
   225 .LP
       
   226 с潟潟茵絎 IDL <ゃу臂ゃ潟帥с若鴻罕篏ゃ帥Java ゃ潟c潟違障ゃ潟若<ゃу臂ゃJava ゃ潟c潟違障違罨< 2 ゃ IDL <ゃゃ帥障   \f4My.idl\fP
       
   227 .LP
       
   228 \f2#include <MyOther.idl>\fP
       
   229 .br
       
   230 \f2interface My\fP
       
   231 .br
       
   232 \f2{\fP
       
   233 .br
       
   234 \f2};\fP
       
   235 .br
       
   236 \f4MyOther.idl\fP 
       
   237 .LP
       
   238 \f2interface MyOther\fP
       
   239 .br
       
   240 \f2{\fP
       
   241 .br
       
   242 \f2};\fP\  
       
   243 .LP
       
   244 罨<潟潟с\f2My\fP 絲障 Java ゃ潟c潟違障 \f2idlj My.idl\fP
       
   245 .LP
       
   246 \f2My.idl\fP у臂\f2My.idl\fP ゃ潟若<ゃ (箴с \f2MyOther.idl\fP) у臂鴻ゃ Java ゃ潟c潟違罨<潟潟篏睡障 \f2idlj \fP\f4\-emitAll\fP\f2 My.idl\fP
       
   247 .LP
       
   248 荀≪羈違障違若鴻潟若絎 \f2#include\fP 菴違障 \f2#include\fP ゃ潟若荀с障絲障篁絎臂蚊障鴻潟若絎 \f2#include\fP 綵潟с \f2#include\fP 障 ゃ障ゃ潟若<ゃ潟若<ゃ障丈絎絲障 Java ゃ潟c潟違肴障罨<箴腓冴障   \f4My.idl\fP
       
   249 .LP
       
   250 \f2#include <MyOther.idl>\fP
       
   251 .br
       
   252 \f2interface My\fP
       
   253 .br
       
   254 \f2{\fP
       
   255 .br
       
   256 \f2\  #include <Embedded.idl>\fP
       
   257 .br
       
   258 \f2};\ \fP  \f4MyOther.idl\fP
       
   259 .LP
       
   260 \f2interface MyOther\fP
       
   261 .br
       
   262 \f2{\fP
       
   263 .br
       
   264 \f2};\ \fP  \f4Embedded.idl\fP
       
   265 .LP
       
   266 \f2enum E {one, two, three};\fP\  
       
   267 .LP
       
   268 罨<潟潟絎茵 \f2idlj My.idl\fP
       
   269 .LP
       
   270 罨<筝c Java <ゃ障 \f2./MyHolder.java\fP
       
   271 .br
       
   272 \f2./MyHelper.java\fP
       
   273 .br
       
   274 \f2./_MyStub.java\fP
       
   275 .br
       
   276 \f2./MyPackage\fP
       
   277 .br
       
   278 \f2./MyPackage/EHolder.java\fP
       
   279 .br
       
   280 \f2./MyPackage/EHelper.java\fP
       
   281 .br
       
   282 \f2./MyPackage/E.java\fP
       
   283 .br
       
   284 \f2./My.java\fP
       
   285 .LP
       
   286 ゃ潟若荀 \f2#include\fP 絎臂\f2MyOther.java\fP 障綵潟с \f2#include\fP у臂\f2E.java\fP 障\f2Embedded.idl\fP  \f2My\fP ゃ潟帥с若鴻鴻潟若ゃ潟若\f2My\fP 鴻潟若 (ゃ障\f2MyPackage\fP ) 障 
       
   287 .LP
       
   288 筝荐箴 \f2\-emitAll\fP 違篏睡違ゃ潟若鴻<ゃ鴻肴障
       
   289 .LP
       
   290 .RE
       
   291 .SS 
       
   292 宴若吾・莨水
       
   293 .LP
       
   294 .RS 3
       
   295 
       
   296 .LP
       
   297 ABC 篌腓障篏罐罨< IDL <ゃ罕膀障   
       
   298 .br
       
   299 \f4Widgets.idl\fP 
       
   300 .LP
       
   301 \f2module Widgets\fP
       
   302 .br
       
   303 \f2{\fP
       
   304 .br
       
   305 \f2\  interface W1 {...};\fP
       
   306 .br
       
   307 \f2\  interface W2 {...};\fP
       
   308 .br
       
   309 \f2};\fP\  
       
   310 .LP
       
   311 <ゃ絲障 IDL\-to\-Java 潟潟ゃ絎茵\f2W1\fP  \f2W2\fP 絲障 Java ゃ潟c潟違 \f2Widgets\fP 宴若後障罐d篌腓障宴若吾\f2com.<篌腓上>\fP 宴若後臀c障\f2Widgets\fP 宴若吾с筝сd緇宴若吾 \f2com.abc.Widgets\fP 綽荀障宴若御・莨 \f2Widgets\fP ≪吾ャ若篁罨<潟潟絎茵障 \f2idlj \fP\f4\-pkgPrefix Widgets com.abc\fP\f2 Widgets.idl\fP
       
   312 .LP
       
   313 \f2Widgets.idl\fP ゃ潟若 IDL <ゃ翫潟潟 \f2\-pkgPrefix\fP 違綽荀с違絎 IDL <ゃ\f2com.abc.Widgets\fP 宴若吾с\f2Widgets\fP 宴若吾罎膣≪障 
       
   314 .LP
       
   315 ・莨綽荀宴若吾ゃ翫菴違 \f2idl.config\fP <ゃф・莨絎膂≦с宴若吾・莨絎茵罨<綵√ц菴違障
       
   316 .LP
       
   317 \f2PkgPrefix.<type>=<prefix>\fP
       
   318 .LP
       
   319 c筝荐箴翫罨<荐菴違障  \f2PkgPrefix.Widgets=com.abc\fP
       
   320 .LP
       
   321 .LP
       
   322 激с潟篏睡吾 ID 綵演帥障
       
   323 .LP
       
   324 .RE
       
   325 .SS 
       
   326 潟潟ゃ激潟絎臂
       
   327 .LP
       
   328 .RS 3
       
   329 
       
   330 .LP
       
   331 潟潟ゃ激潟 IDL <ゃу臂翫激潟絎臂綽荀障 違ゃ潟c潟医違潟若腟水ャ篏睡障罨<潟潟 \f2idlj \fP\f4\-d\fP\f2 MYDEF My.idl\fP
       
   332 .LP
       
   333 \f2My.idl\fP  \f2#define MYDEF\fP 茵絎翫膈箴<с
       
   334 .RE
       
   335 .SS 
       
   336 √ゃ潟c潟違篆
       
   337 .LP
       
   338 .RS 3
       
   339 
       
   340 .LP
       
   341 Java ゃ潟c潟違<ゃс絖翫\f2\-keep\fP 違絎潟潟ゃ筝吾帥с障сс絖鴻<ゃ障<ゃ鴻帥ゃ冴翫 (絎鴻罩g∈с篁ュ鴻帥ゃ冴帥)\f2\-keep\fP 激с潟с罨<潟潟 \f2idlj \fP\f4\-keep\fP\f2 My.idl\fP
       
   342 .LP
       
   343 ゃ≪潟眼ゃ潟c潟違с障絖鴻肴障
       
   344 .RE
       
   345 .SS 
       
   346 潟潟ゃ我倶茵腓
       
   347 .LP
       
   348 .RS 3
       
   349 
       
   350 .LP
       
   351 IDL\-to\-Java 潟潟ゃ絎茵罧級х倶<祉若吾障激≪若 (<祉若吾紊≪若) \f2\-v\fP 激с潟篏睡障 \f2idlj \fP\f4\-v\fP\f2 My.idl\fP
       
   352 .LP
       
   353 с潟潟ゃ激≪若с絎茵障
       
   354 .RE
       
   355 .SS 
       
   356 若吾с恰宴茵腓
       
   357 .LP
       
   358 .RS 3
       
   359 
       
   360 .LP
       
   361 .LP
       
   362 IDL\-to\-Java 潟潟ゃ若吾с潟茵腓冴潟潟茵 \f2\-version\fP 激с潟絎障
       
   363 .LP
       
   364 .LP
       
   365 \f2idlj \-version\fP
       
   366 .LP
       
   367 .LP
       
   368 若吾с恰宴潟潟ゃcゃ潟c潟医吾莨若障障激с潟潟潟茵絎篁ュ激с潟絎鴻∴障
       
   369 .LP
       
   370 .RE
       
   371 .SH "激с"
       
   372 .LP
       
   373 
       
   374 .LP
       
   375 .RS 3
       
   376 .TP 3
       
   377 \-d symbol 
       
   378 激с潟IDL <ゃ罨<茵菴遵翫膈箴<с 
       
   379 .RS 3
       
   380 
       
   381 .LP
   761 .nf
   382 .nf
   762 \f3
   383 \f3
   763 .fl
   384 .fl
       
   385 #define \fP\f4symbol\fP\f3
       
   386 .fl
       
   387 \fP
       
   388 .fi
       
   389 .RE
       
   390 .TP 3
       
   391 \-emitAll 
       
   392 \f2#include\fP <ゃу臂鴻肴障 
       
   393 .TP 3
       
   394 \-fside 
       
   395 肴ゃ潟c潟違絎臂障 \f2side\fP \f2client\fP\f2server\fP\f2serverTIE\fP\f2all\fP\f2allTIE\fP <с\f2\-fserverTIE\fP 障 \f2\-fallTIE\fP 激с潟絎紮茘蚊≪鴻宴潟肴障違絎c翫\f2\-fclient\fP 絎荀障 
       
   396 .TP 3
       
   397 \-i include\-path 
       
   398 сゃ潟若<ゃ潟c罎膣≪障激с潟絎祉c菴遵с障 
       
   399 .TP 3
       
   400 \-keep 
       
   401 <ゃс絖翫<ゃ筝吾障с筝吾障 
       
   402 .TP 3
       
   403 \-noWarn 
       
   404 茘<祉若吾茵腓冴障 
       
   405 .TP 3
       
   406 \-oldImplBase 
       
   407 v1.4  JDK ORB 篋с鴻宴潟障сPOA 膓帥≪泣若弱眼ゃ潟c潟違障激с潟絎\f2ImplBase\fP 膓帥≪鴻с泣若弱眼ゃ潟c潟違сゃ若吾с潟 Java 違潟域茯筝篏篋с緇障 
       
   408 .TP 3
       
   409 \-pkgPrefix type prefix 
       
   410 \f2type\fP <ゃ鴻潟若ф冴翫絲障鴻<ゃゃ Java 宴若後 \f2prefix\fP ・莨篁障\f2type\fP ≪吾ャ若膣≪吾ャ若紊眼у臂 IDL 膣<с 
       
   411 .TP 3
       
   412 \-pkgTranslate type package 
       
   413 茘ュ筝≪吾ャ若 \f2type\fP 罎冴 Java 宴若後鴻<ゃゃ茘ュ筝 \f2package\fP х舟障 \f2pkgPrefix\fP 紊眼障\f2type\fP ≪吾ャ若障鴻≪吾ャ若紊у臂 IDL 膣с 絎宴若後罩g∈筝眼違障 
       
   414 .LP
       
   415 1 ゃ茘ュ筝ц違紊翫c激吾違障違罨<綣違絎翫 
       
   416 .nf
       
   417 \f3
       
   418 .fl
       
   419   \-pkgTranslate foo bar \-pkgTranslate foo.baz buzz.fizz
       
   420 .fl
       
   421 \fP
       
   422 .fi
       
   423 .LP
       
   424 罨<紊絎純障 
       
   425 .nf
       
   426 \f3
       
   427 .fl
   764 foo          => bar
   428 foo          => bar
   765 .fl
   429 .fl
   766 foo.boo      => bar.boo
   430 foo.boo      => bar.boo
   767 .fl
   431 .fl
   768 foo.baz      => buzz.fizz
   432 foo.baz      => buzz.fizz
   770 foo.baz.bar  => buzz.fizz.bar
   434 foo.baz.bar  => buzz.fizz.bar
   771 .fl
   435 .fl
   772 \fP
   436 \fP
   773 .fi
   437 .fi
   774 .LP
   438 .LP
   775 次のパッケージ名は変換できません。
   439 罨<宴若後紊с障 
   776 .RS 3
   440 .RS 3
   777 .TP 2
   441 .TP 2
   778 *
   442 o
   779 \f2org\fP 
   443 \f2org\fP 
   780 .TP 2
   444 .TP 2
   781 *
   445 o
   782 \f2org.omg\fP または \f2org.omg\fP のサブパッケージ
   446 \f2org.omg\fP障 \f2org.omg\fP 泣宴若 
   783 .RE
   447 .RE
   784 .LP
   448 .LP
   785 これらのパッケージの変換を試みると、コンパイル不可能なコードが生成されます。
   449 宴若後紊篋с潟若障 \f2\-pkgTranslate\fP 綣違宴若吾篏睡若宴障  
   786 これらのパッケージを 
   450 .TP 3
   787 .BR \-pkgTranslate
   451 \-skeletonName xxx%yyy 
   788 の後の最初の引数として使用すると、エラーとして扱われます。
   452 \f2xxx%yyy\fP 鴻宴潟篁帥若潟篏睡障罨<с 
   789 .RE
   453 .RS 3
   790 .TP
   454 .TP 2
   791 .BI \-skeletonName " xxx%yyy"
   455 o
   792 .BI xxx%yyy
   456 \f2POA\fP 阪鴻翫%POA(\f2\-fserver\fP 障 \f2\-fall\fP) 
   793 をスケルトンの名前付けのパターンとして使用します。デフォルトは次のとおりです。
   457 .TP 2
   794 .LP
   458 o
   795 .RS
   459 \f2oldImplBase\fP 鴻翫_%ImplBase(\f2\-oldImplBase\fP  (\f2\-fserver\fP 障 \f2\-fall\fP)) 
   796 .TP 2
   460 .RE
   797 \(bu POA 基底クラス 
   461 .TP 3
   798 (
   462 \-td dir 
   799 .BR \-fserver
   463 阪c潟cс\f2dir\fP 篏睡障 
   800 または
   464 .TP 3
   801 .BR \-fall
   465 \-tieName xxx%yyy 
   802 ) の場合、%POA
   466 帥若潟緇c Tie 篁障罨<с 
   803 .TP 2
   467 .RS 3
   804 \(bu 
   468 .TP 2
   805 .BR \-oldImplBase
   469 o
   806 クラス (
   470 \f2POA\fP Tie 阪鴻翫%POATie(\f2\-fserverTie\fP 障 \f2\-fallTie\fP) 
   807 .BR \-oldImplBase
   471 .TP 2
   808 および、
   472 o
   809 .BR \-fserver
   473 \f2oldImplBase\fP Tie 鴻翫%_Tie(\f2\-oldImplBase\fP  (\f2\-fserverTie\fP 障 \f2\-fallTie\fP)) 
   810 または
   474 .RE
   811 .BR \-fall
   475 .TP 3
   812 ) の場合、_%ImplBase
   476 \-verbose 
   813 .RE
   477 激≪若障 
   814 .TP
   478 .TP 3
   815 .BI \-td " dir"
   479 \-version 
   816 出力ディレクトリとして、現在のディレクトリではなく
   480 若吾с恰宴茵腓冴腟篋障 
   817 .BI dir
   481 .RE
   818 を使用します。
   482 
   819 .TP
   483 .LP
   820 .BI \-tieName " xxx%yyy"
   484 激с潟荅括完ゃ茯祉激с潟с 
   821 パターンに応じて Tie に名前を付けます。デフォルトは次のとおりです。
   485 .SH "句"
   822 .LP
   486 .LP
   823 .RS
   487 
   824 .TP 2
   488 .LP
   825 \(bu POA Tie 基底クラス (
   489 .RS 3
   826 .BR \-fserverTie
   490 .TP 2
   827 または 
   491 o
   828 .BR \-fallTie
   492 違若鴻潟若鴻宴若茘ュIDL c \f2Object\fP 障 \f2ValueBase\fP 膓眼сc障茘ュゃ激潟若篋若茘ュ絎臂荐怨絎臂筝吾障障箙句с 
   829 ) の場合、%POATie
   493 .TP 2
   830 .TP 2
   494 o
   831 \(bu 
   495 \f2fixed\fP  IDL 泣若障 
   832 .BR oldImplBase Tie
   496 .RE
   833 クラス (
   497 
   834 .BR \-oldImplBase
   498 .LP
   835 および、
   499 .SH "∝ャ馹"
   836 .BR \-fserverTie
   500 .LP
   837 または
   501 
   838 .BR \-fallTie
   502 .LP
   839 のいずれか) の場合、%_Tie
   503 .RS 3
   840 .RE
   504 .TP 2
   841 .TP
   505 o
   842 .BI \-nowarn, \-verbose
   506 違若茘ュゃゃ潟若障篋若 impl 若喝冴箴紊障 \f2ServerDelegate\fP DSI 潟若 \f2NullPointerException\fP с 
   843 詳細モードにします。
       
   844 .TP
       
   845 .BI \-version
       
   846 バージョン情報を表示して終了します。
       
   847 .LP
       
   848 オプションの詳細は、「機能説明」の節を参照してください。
       
   849 .SH "制限事項"
       
   850 .LP
       
   851 .TP 2
       
   852 \(bu グローバルスコープ内でエスケープされた識別子は、
       
   853 IDL プリミティブ型 (
       
   854 .BR Object 
       
   855 または 
       
   856 .BR ValueBase
       
   857 ) と同じスペルであってはなりません。これは、シンボルテーブルがこれらの
       
   858 識別子を使用してすでにロードされているためです。これらを定義し直すと、
       
   859 それらの本来の定義を上書きすることになります (この制限は永続的に
       
   860 適用される見込み)。
       
   861 .TP 2
       
   862 \(bu IDL の fixed 型はサポートされていません。
       
   863 .SH "既知の問題"
       
   864 .LP
       
   865 
       
   866 .LP
       
   867 .RS 3
       
   868 .TP 2
       
   869 *
       
   870 グローバル識別子のインポートは生成されません。エクスポートされていないローカル実装を呼び出すと例外が発生しますが、その原因はおそらく \f2ServerDelegate\fP DSI コード内の \f2NullPointerException\fP です。
       
   871 .RE
   507 .RE
   872 
   508 
   873 .LP
   509 .LP
   874 
   510 
   875 .LP
   511 .LP