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