blob: 0a05be7383afce7bcb2eecac5f28fec320d59976 [file] [log] [blame]
." Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
." This code is free software; you can redistribute it and/or modify it
." under the terms of the GNU General Public License version 2 only, as
." published by the Free Software Foundation.
."
." This code is distributed in the hope that it will be useful, but WITHOUT
." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
." version 2 for more details (a copy is included in the LICENSE file that
." accompanied this code).
."
." You should have received a copy of the GNU General Public License version
." 2 along with this work; if not, write to the Free Software Foundation,
." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
."
." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
." or visit www.oracle.com if you need additional information or have any
." questions.
."
.TH idlj 1 "14 Apr 2011"
.LP
.SH "̾Á°"
idlj \- IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é
.LP
\f3idlj\fP ¤Ï¡¢»ØÄꤵ¤ì¤¿ IDL ¥Õ¥¡¥¤¥ë¤«¤é Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£
.SH "·Á¼°"
.LP
.nf
\f3
.fl
idlj [ \fP\f3options\fP\f3 ] \fP\f4idl\-file\fP\f3
.fl
\fP
.fi
.LP
.LP
\f2idl\-file\fP ¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÄêµÁ¸À¸ì (IDL) ¤Ë¤è¤ëÄêµÁ¤¬Æþ¤Ã¤¿¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ç¤¹¡£\f2options\fP ¤Î½çÈÖ¤ÏǤ°Õ¤Ç¤¹¤¬¡¢\f2idl\-file\fP ¤è¤ê¤âÁ°¤Ë»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
.LP
.SH "ÀâÌÀ"
.LP
.LP
IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤Ï¡¢»ØÄꤵ¤ì¤¿ IDL ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤·¤Þ¤¹¡£¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¾ÜºÙ¤Ï¡¢
.na
\f2OMG IDL to Java Language Mapping Specification\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤Î°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤ÎÃæ¤Ë¤Ï¡¢\f2idltojava\fP ¤È¤¤¤¦Ì¾Á°¤À¤Ã¤¿¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
.LP
.SS
¥¯¥é¥¤¥¢¥ó¥È¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ª¤è¤Ó¥µ¡¼¥Ð¡¼¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô
.LP
.LP
My.idl ¤È¤¤¤¦Ì¾Á°¤Î IDL ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj My.idl
.fl
\fP
.fi
.LP
.LP
¤³¤ì¤Ë¤è¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ÈÅù²Á¤Ç¤¹¡£
.LP
.nf
\f3
.fl
idlj \fP\f3\-fclient\fP My.idl
.fl
.fi
.LP
.LP
¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ë¤Ï¡¢¥µ¡¼¥Ð¡¼Â¦¤Î¥¹¥±¥ë¥È¥ó¤ÏÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ËÂФ·¤Æ¥µ¡¼¥Ð¡¼Â¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj \fP\f3\-fserver\fP My.idl
.fl
.fi
.LP
.LP
¥µ¡¼¥Ð¡¼Â¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¤Û¤«¤Ë¡¢¥¹¥±¥ë¥È¥ó¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Ï¤¹¤Ù¤Æ¡¢ \f2POA\fP (¤Ä¤Þ¤ê·Ñ¾µ¥â¥Ç¥ë) ¥¯¥é¥¹¤Ç¤¹¡£¥¯¥é¥¤¥¢¥ó¥È¦¤È¥µ¡¼¥Ð¡¼Â¦¤ÎξÊý¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É (¤É¤ì¤âÅù²Á) ¤Î¤¦¤Á¤Î 1 ¤Ä¤ò»ÈÍѤ·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj \fP\f3\-fclient \-fserver\fP My.idl
.fl
idlj \f3\-fall\fP My.idl
.fl
.fi
.LP
.LP
¥µ¡¼¥Ð¡¼Â¦¤Ç²Äǽ¤Ê¥â¥Ç¥ë¤Ï 2 ¤Ä¤¢¤ê¤Þ¤¹¡£·Ñ¾µ¥â¥Ç¥ë¤È Tie °Ñ¾ù¥â¥Ç¥ë¤Ç¤¹¡£
.LP
.LP
¥Ç¥Õ¥©¥ë¥È¤Î¥µ¡¼¥Ð¡¼Â¦¤Î¥â¥Ç¥ë¤Ï¡¢¡Ö°Ü¿£²Äǽ¥µ¡¼¥Ð¥ó¥È·Ñ¾µ¥â¥Ç¥ë¡×¤Ç¤¹¡£\f2My.idl\fP Æâ¤Ç \f2My\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\f2MyPOA.java\fP ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ï \f2My\fP ¤ËÄ󶡤·¡¢\f2MyPOA\fP ¤ò·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
.LP
.LP
\f2MyPOA.java\fP ¤Ï
.na
\f2org.omg.PortableServer.Servant\fP @
.fi
http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html ¤ò³ÈÄ¥¤¹¤ë¥¹¥È¥ê¡¼¥à¥Ù¡¼¥¹¤Î¥¹¥±¥ë¥È¥ó¤Ç¡¢¥¹¥±¥ë¥È¥ó¤¬¼ÂÁõ¤¹¤ë IDL ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ë \f2InvokeHandler\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤È¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Þ¤¹¡£
.LP
.LP
.na
\f2Portable Object Adapter (POA)\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html ¤Î \f2PortableServer\fP ¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¤Î \f2Servant\fP ·¿¤òÄêµÁ¤·¤Þ¤¹¡£Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢\f2Servant\fP ·¿¤Ï Java ¤Î \f2org.omg.PortableServer.Servant\fP ¥¯¥é¥¹¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£¤³¤Î¥¯¥é¥¹¤Ï¡¢¤¹¤Ù¤Æ¤Î POA ¥µ¡¼¥Ð¥ó¥È¼ÂÁõ¤Î´ðÄ쥯¥é¥¹¤È¤·¤Æµ¡Ç½¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥Þ¤¬¸Æ¤Ó½Ð¤¹¤³¤È¤Î¤Ç¤­¤ë¤¤¤¯¤Ä¤«¤Î¥á¥½¥Ã¥É¤Î¤Û¤«¤Ë¡¢POA ¤½¤Î¤â¤Î¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¡¢¥µ¡¼¥Ð¥ó¥È¤ÎÆ°ºî¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¥æ¡¼¥¶¡¼¤¬¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤­¤ë¥á¥½¥Ã¥É¤âÄ󶡤·¤Þ¤¹¡£
.LP
.LP
·Ñ¾µ¥â¥Ç¥ë¤Î¤â¤¦ 1 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢\f2\-oldImplBase\fP ¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢J2SE 1.4 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¸ß´¹À­¤Î¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤³¤È¤Ç¤¹¡£¤¿¤À¤·¡¢\f2\-oldImplBase\fP ¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤Î¤Ï¡¢É¸½àŪ¤Ê¼êË¡¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤é¤Î API ¤Ïº£¸åÈó¿ä¾©¤Ë¤Ê¤ëͽÄê¤Ç¤¹¡£¤³¤Î¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤Î¤Ï¡¢J2SE 1.3 ¤Çµ­½Ò¤µ¤ì¤¿´û¸¤Î¥µ¡¼¥Ð¡¼¤È¤Î¸ß´¹À­¤¬É¬Íפʾì¹ç¤À¤±¤Ç¤¹¡£¤½¤Î¾ì¹ç¤Ë¤Ï´û¸¤Î MAKEFILE ¤òÊѹ¹¤·¡¢\f2idlj\fP ¥³¥ó¥Ñ¥¤¥é¤Ë \f2\-oldImplBase\fP ¥Õ¥é¥°¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤¦¤·¤Ê¤¤¤È¡¢POA ¥Ù¡¼¥¹¤Î¥µ¡¼¥Ð¡¼Â¦¥Þ¥Ã¥Ô¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£²¼°Ì¸ß´¹À­¤Î¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj \fP\f3\-fclient \-fserver\fP \f3\-oldImplBase\fP My.idl
.fl
idlj \f3\-fall\fP \f3\-oldImplBase\fP My.idl
.fl
.fi
.LP
.LP
\f2My.idl\fP Æâ¤Ç \f2My\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢\f2_MyImplBase.java\fP ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2My\fP ¤ËÂФ·¤Æ¤½¤Î¼ÂÁõ¤òÄ󶡤·¡¢¤³¤Î¼ÂÁõ¤Ï \f2_MyImplBase\fP ¤«¤é·Ñ¾µ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
.LP
.LP
¤â¤¦ 1 ¤Ä¤Î¥µ¡¼¥Ð¡¼Â¦¥â¥Ç¥ë¤Ï¡¢Tie ¥â¥Ç¥ë¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Ç¤¹¡£¤³¤Î¥µ¡¼¥Ð¡¼Â¦¥â¥Ç¥ë¤Ï¡¢°Ñ¾ù¥â¥Ç¥ë¤Ç¤¹¡£Tie ¤È¥¹¥±¥ë¥È¥ó¤òƱ»þ¤ËÀ¸À®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤¿¤á¡¢¤½¤ì¤é¤ÏÊÌ¡¹¤ËÀ¸À®¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢Tie ¥â¥Ç¥ëÍѤΥХ¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj \fP\f3\-fall\fP My.idl
.fl
idlj \f3\-fallTIE\fP My.idl
.fl
.fi
.LP
.LP
\f2My\fP ¤È¤¤¤¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¾åµ­¤Î 2 ÈÖÌܤΥ³¥Þ¥ó¥É¤Ë¤è¤ê¡¢\f2MyPOATie.java\fP ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2MyPOATie\fP ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢\f2delegate\fP ¤ò¼è¤ê¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î POA ¥â¥Ç¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Ë¤â \f2poa\fP ¤¬É¬ÍפǤ¹¡£\f2delegate\fP ¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢¤³¤Î¼ÂÁõ¤Ï \f2MyOperations\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ë¤À¤±¤Ç¡¢¤½¤Î¾¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¤³¤Î¼ÂÁõ¤ò ORB ¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\f2MyPOATie\fP Æâ¤Ç¼ÂÁõ¤ò¥é¥Ã¥×¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
ORB orb = ORB.init(args, System.getProperties());
.fl
.fl
// Get reference to rootpoa & activate the POAManager
.fl
POA rootpoa = (POA)orb.resolve_initial_references("RootPOA");
.fl
rootpoa.the_POAManager().activate();
.fl
.fl
// create servant and register it with the ORB
.fl
MyServant myDelegate = new MyServant();
.fl
myDelegate.setORB(orb);
.fl
.fl
// create a tie, with servant being the delegate.
.fl
MyPOATie tie = new MyPOATie(myDelegate, rootpoa);
.fl
.fl
// obtain the objectRef for the tie
.fl
My ref = tie._this(orb);
.fl
\fP
.fi
.LP
.LP
¾¤Î¼ÂÁõ¤«¤é·Ñ¾µ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¡¢É¸½à¤Î·Ñ¾µ¥â¥Ç¥ë¤Ç¤Ï¤Ê¤¯ Tie ¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£Java ¤Î¾ì¹ç¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î·Ñ¾µ¤Î¸Ä¿ô¤ËÀ©¸Â¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¥¯¥é¥¹¤Î·Ñ¾µ¤Ë»ÈÍѤǤ­¤ë¥¹¥í¥Ã¥È¤Ï 1 ¤Ä¤À¤±¤Ç¤¹¡£·Ñ¾µ¥â¥Ç¥ë¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¹¥í¥Ã¥È¤¬ÀêÍ­¤µ¤ì¤Þ¤¹¡£Tie ¥â¥Ç¥ë¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¹¥í¥Ã¥È¤¬»ÈÍѤµ¤ì¤º¡¢¥æ¡¼¥¶¡¼¤¬Æȼ«¤ÎÌÜŪ¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤Ë¤Ï¡¢´ÖÀÜÀ­¤Î¥ì¥Ù¥ë¤¬ 1 ¤ÄƳÆþ¤µ¤ì¤ë¤È¤¤¤¦·çÅÀ¤¬¤¢¤ê¤Þ¤¹¡£¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Ë¡¢Í¾Ê¬¤Ê¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¤¬ 1 ²óȯÀ¸¤·¤Þ¤¹¡£
.LP
.LP
IDL ¤Î¥Ð¡¼¥¸¥ç¥ó¤«¤é J2SE 1.4 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Java ¸À¸ì¤Ø¤Î¥Þ¥Ã¥Ô¥ó¥°¤È¸ß´¹À­¤Î¤¢¤ë¡¢¥µ¡¼¥Ð¡¼Â¦¤Î Tie ¥â¥Ç¥ë¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj \fP\f3\-oldImplBase\fP \f3\-fall\fP My.idl
.fl
idlj \f3\-oldImplBase\fP \f3\-fallTIE\fP My.idl
.fl
.fi
.LP
.LP
\f2My\fP ¤È¤¤¤¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¤³¤ì¤Ë¤è¤ê \f2My_Tie.java\fP ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£\f2My_Tie\fP ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢\f2impl\fP ¤ò¼è¤ê¤Þ¤¹¡£\f2impl\fP ¤ËÂФ·¤Æ¼ÂÁõ¤òÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢¤½¤Î¼ÂÁõ¤Ï \f2HelloOperations\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפ¬¤¢¤ë¤À¤±¤Ç¡¢¤½¤Î¾¤Î¥¯¥é¥¹¤«¤é·Ñ¾µ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¤³¤Î¼ÂÁõ¤ò ORB ¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤Ë¤Ï¡¢\f2My_Tie\fP Æâ¤Ç¼ÂÁõ¤ò¥é¥Ã¥×¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
ORB orb = ORB.init(args, System.getProperties());
.fl
.fl
// create servant and register it with the ORB
.fl
MyServant myDelegate = new MyServant();
.fl
myDelegate.setORB(orb);
.fl
.fl
// create a tie, with servant being the delegate.
.fl
MyPOATie tie = new MyPOATie(myDelegate);
.fl
.fl
// obtain the objectRef for the tie
.fl
My ref = tie._this(orb);
.fl
\fP
.fi
.LP
.SS
ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÂåÂØ°ÌÃ֤λØÄê
.LP
.LP
ȯ¹Ô¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¯¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj \fP\f3\-td /altdir\fP My.idl
.fl
.fi
.LP
.LP
\f2My\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¾ì¹ç¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ï¡¢\f2./My.java\fP ¤Ç¤Ï¤Ê¤¯¡¢\f2/altdir/My.java\fP ¤Ê¤É¤Ëȯ¹Ô¤µ¤ì¤Þ¤¹¡£
.LP
.SS
¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ÎÂåÂØ°ÌÃ֤λØÄê
.LP
.LP
\f2My.idl\fP ¤Ë¤â¤¦ 1 ¤Ä¤Î IDL ¥Õ¥¡¥¤¥ë \f2MyOther.idl\fP ¤¬¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥í¡¼¥«¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë \f2MyOther.idl\fP ¤¬¤¢¤ë¤â¤Î¤ÈÁÛÄꤷ¤Þ¤¹¡£¤â¤·¤½¤Î¥Õ¥¡¥¤¥ë¤¬¡¢¤¿¤È¤¨¤Ð \f2/includes\fP ¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj \fP\f3\-i /includes\fP My.idl
.fl
.fi
.LP
.LP
¤Þ¤¿¡¢¤â¤· \f2My.idl\fP ¤Ë¡¢¤¿¤È¤¨¤Ð \f2/moreIncludes\fP ¤Ë¤¢¤ë \f2Another.idl\fP ¤â¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç¥³¥ó¥Ñ¥¤¥é¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj \fP\f3\-i /includes \-i /moreIncludes\fP My.idl
.fl
.fi
.LP
.LP
¤³¤Î¤è¤¦¤Ê·Á¼°¤Ç¥¤¥ó¥¯¥ë¡¼¥É¤ò»ØÄꤹ¤ë¤È¡¢¥³¥Þ¥ó¥É¤¬Ä¹¤¯¤ÆÊ£»¨¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤³¤Ç¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¾ì½ê¤ò¥³¥ó¥Ñ¥¤¥é¤Ë»Ø¼¨¤¹¤ë¤¿¤á¤ÎÊ̤ÎÊýË¡¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢´Ä¶­ÊÑ¿ô¤Î¹Í¤¨Êý¤È»÷¤Æ¤¤¤Þ¤¹¡£CLASSPATH ¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë \f2idl.config\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£¤½¤Î \f2idl.config\fP ¤ÎÃæ¤Ë¡¢¼¡¤Î¤è¤¦¤Ê·Á¼°¤Î¹Ô¤òÆþ¤ì¤Þ¤¹¡£
.LP
.nf
\f3
.fl
includes=/includes;/moreIncludes
.fl
\fP
.fi
.LP
.LP
¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·¡¢¥¤¥ó¥¯¥ë¡¼¥É¥ê¥¹¥È¤òÆɤ߹þ¤ß¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Î´Ö¤Î¶èÀÚ¤êʸ»ú¤Ï¥»¥ß¥³¥í¥ó (;) ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Î¶èÀÚ¤êʸ»ú¤Ï¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Windows ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥»¥ß¥³¥í¥ó¤Ç¤¹¤¬¡¢Unix ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥³¥í¥ó¤Ç¤¹¡£ \f2¥¤¥ó¥¯¥ë¡¼¥É\fP¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
.na
\f2CLASSPATH ¤ÎÀßÄê\fP @
.fi
http://java.sun.com/javase/6/docs/technotes/tools/index.html#general ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.LP
.SS
¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Îȯ¹Ô
.LP
.LP
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤷ¤¿ IDL ¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ä¹½Â¤ÂΤʤɤˤĤ¤¤Æ¤Î¤ß¡¢Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿¤Ë¤Ä¤¤¤Æ¤Ï¡¢Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î 2 ¤Ä¤Î IDL ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£
.LP
.LP
.LP
\f4My.idl\fP
.LP
.nf
\f3
.fl
#include <MyOther.idl>
.fl
interface My
.fl
{
.fl
};
.fl
\fP
.fi
.LP
.LP
.LP
\f4MyOther.idl\fP
.LP
.nf
\f3
.fl
interface MyOther
.fl
{
.fl
};
.fl
\fP
.fi
.LP
.LP
.LP
¼¡¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¡¢\f2My\fP ¤ËÂФ¹¤ë Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤À¤±¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj My.idl
.fl
\fP
.fi
.LP
.LP
\f2My.idl\fP ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿¤È¡¢\f2My.idl\fP ¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë (¤³¤ÎÎã¤Ç¤Ï \f2MyOther.idl\fP) ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë·¿¤¹¤Ù¤Æ¤Ë¤Ä¤¤¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj \fP\f3\-emitAll\fP My.idl
.fl
.fi
.LP
.LP
¤³¤Î¥Ç¥Õ¥©¥ë¥È¤Îµ¬Â§¤Ë´Ø¤·¤ÆÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×¤Ë»ØÄꤷ¤¿ \f2#include\fP ʸ¤Ï¡¢Á°½Ò¤Î¤È¤ª¤ê¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î \f2#include\fP ʸ¤Ï¡¢¥¤¥ó¥Ý¡¼¥Èʸ¤È¸«¤Ê¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½¤ì¤ËÂФ·¤Æ¡¢Â¾¤ÎÄêµÁ¤Ë°Ï¤Þ¤ì¤¿¥¹¥³¡¼¥×Æâ¤Ë»ØÄꤷ¤¿ \f2#include\fP ʸ¤Ï¡¢ËÜÅö¤Î°ÕÌ£¤Ç¤Î \f2#include\fP ʸ¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¥³¡¼¥É¤¬¡¢¸µ¤Î¥Õ¥¡¥¤¥ë¤Ë¤½¤Î¤Þ¤Þ»ØÄꤵ¤ì¤Æ¤¤¤ë¤«¤Î¤è¤¦¤Ë½èÍý¤µ¤ì¡¢¤½¤ì¤ËÂФ·¤Æ Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¼¡¤Ï¤½¤ÎÎã¤Ç¤¹¡£
.LP
.LP
.LP
\f4My.idl\fP
.LP
.nf
\f3
.fl
#include <MyOther.idl>
.fl
interface My
.fl
{
.fl
#include <Embedded.idl>
.fl
};
.fl
\fP
.fi
.LP
.LP
.LP
\f4MyOther.idl\fP
.LP
.nf
\f3
.fl
interface MyOther
.fl
{
.fl
};
.fl
\fP
.fi
.LP
.LP
.LP
\f4Embedded.idl\fP
.LP
.nf
\f3
.fl
enum E {one, two, three};
.fl
\fP
.fi
.LP
.LP
.LP
¤³¤Î¤È¤­¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢
.LP
.nf
\f3
.fl
idlj My.idl
.fl
\fP
.fi
.LP
.LP
¼¡¤Î¤è¤¦¤Ê°ìÏ¢¤Î Java ¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
.LP
.nf
\f3
.fl
./MyHolder.java
.fl
./MyHelper.java
.fl
./_MyStub.java
.fl
./MyPackage
.fl
./MyPackage/EHolder.java
.fl
./MyPackage/EHelper.java
.fl
./MyPackage/E.java
.fl
./My.java
.fl
\fP
.fi
.LP
.LP
¥¤¥ó¥Ý¡¼¥Èʸ¤È¸«¤Ê¤µ¤ì¤ë \f2#include\fP ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢\f2MyOther.java\fP ¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£¤¿¤À¤·¡¢ËÜÅö¤Î°ÕÌ£¤Ç¤Î \f2#include\fP ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢\f2E.java\fP ¤ÏÀ¸À®¤µ¤ì¤Þ¤¹¡£¤µ¤é¤Ë¡¢\f2Embedded.idl\fP ¤¬ \f2My\fP ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¥¹¥³¡¼¥×Æâ¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤¿¤¿¤á¡¢\f2My\fP ¤Î¥¹¥³¡¼¥×Æâ (¤Ä¤Þ¤ê¡¢\f2MyPackage\fP Æâ) ¤ËÀ¸À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
.LP
.LP
¾åµ­¤ÎÎã¤Ç \f2\-emitAll\fP ¥Õ¥é¥°¤ò»ÈÍѤ¹¤ì¤Ð¡¢¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î·¿¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£
.LP
.SS
¥Ñ¥Ã¥±¡¼¥¸¤ÎÀÜƬ¼­¤ÎÁÞÆþ
.LP
.LP
ABC ¤È¤¤¤¦Ì¾Á°¤Î²ñ¼Ò¤Î¤¿¤á¤Ëºî¶È¤·¤Æ¤¤¤Æ¡¢¼¡¤Î¤è¤¦¤Ê IDL ¥Õ¥¡¥¤¥ë¤ò¹½ÃÛ¤·¤¿¤È¤·¤Þ¤·¤ç¤¦¡£
.LP
.LP
.LP
\f4Widgets.idl\fP
.LP
.nf
\f3
.fl
module Widgets
.fl
{
.fl
interface W1 {...};
.fl
interface W2 {...};
.fl
};
.fl
\fP
.fi
.LP
.LP
.LP
¤³¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤¹¤ë¤È¡¢\f2W1\fP ¤ª¤è¤Ó \f2W2\fP ¤ËÂФ¹¤ë Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬ \f2Widgets\fP ¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÀ¸À®¤µ¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¶È³¦¤Î´·Îã¤Ë¤è¤ë¤È¡¢²ñ¼Ò¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢\f2com.<²ñ¼Ò̾>\fP ¤È¤¤¤¦Ì¾Á°¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤ËÃÖ¤¯¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢\f2Widgets\fP ¥Ñ¥Ã¥±¡¼¥¸¤Ç¤ÏÉÔ½½Ê¬¤Ç¤¹¡£´·Îã¤Ë½¾¤¦¤Ë¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤ò \f2com.abc.Widgets\fP ¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥Ñ¥Ã¥±¡¼¥¸ÀÜƬ¼­¤ò \f2Widgets\fP ¥â¥¸¥å¡¼¥ë¤ËÉղ乤ë¤Ë¤Ï¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj \fP\f3\-pkgPrefix Widgets com.abc\fP Widgets.idl
.fl
.fi
.LP
.LP
\f2Widgets.idl\fP ¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤¤¤ë IDL ¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥³¥Þ¥ó¥É¤Ë¤â \f2\-pkgPrefix\fP ¥Õ¥é¥°¤¬É¬ÍפǤ¹¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤¤¤È¡¢¤½¤Î IDL ¥Õ¥¡¥¤¥ë¤Ï¡¢\f2com.abc.Widgets\fP ¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤Ê¤¯¡¢\f2Widgets\fP ¥Ñ¥Ã¥±¡¼¥¸¤ò¸¡º÷¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
.LP
.LP
ÀÜƬ¼­¤¬É¬Íפʥѥ屡¼¥¸¤¬¤¤¤¯¤Ä¤â¤¢¤ë¾ì¹ç¤Ï¡¢Á°½Ò¤Î \f2idl.config\fP ¥Õ¥¡¥¤¥ë¤ÇÀÜƬ¼­¤ò»ØÄꤹ¤ë¤Î¤¬´Êñ¤Ç¤¹¡£¥Ñ¥Ã¥±¡¼¥¸¤ÎÀÜƬ¼­¤ò»ØÄꤹ¤ë¹Ô¤Ï¡¢¤½¤ì¤¾¤ì¼¡¤Î·Á¼°¤Çµ­½Ò¤·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
PkgPrefix.<type>=<prefix>
.fl
\fP
.fi
.LP
¤·¤¿¤¬¤Ã¤Æ¡¢¾åµ­¤ÎÎã¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£
.nf
\f3
.fl
PkgPrefix.Widgets=com.abc
.fl
\fP
.fi
.LP
.LP
¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤â¡¢¥ê¥Ý¥¸¥È¥ê ID ¤Ï±Æ¶Á¤ò¼õ¤±¤Þ¤»¤ó¡£
.LP
.SS
¥³¥ó¥Ñ¥¤¥ëÁ°¤Î¥·¥ó¥Ü¥ë¤ÎÄêµÁ
.LP
.LP
¥³¥ó¥Ñ¥¤¥ëÍѤΥ·¥ó¥Ü¥ë¤¬ IDL ¥Õ¥¡¥¤¥ëÆâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥·¥ó¥Ü¥ë¤òÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤¿¤È¤¨¤Ð¡¢¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¥Ç¥Ð¥Ã¥°¥³¡¼¥É¤òÁȤßÆþ¤ì¤ë¤È¤­¤Ë»ÈÍѤ·¤Þ¤¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢
.LP
.nf
\f3
.fl
idlj \fP\f3\-d\fP MYDEF My.idl
.fl
.fi
.LP
.LP
\f2My.idl\fP Æâ¤Ë \f2#define MYDEF\fP ¤È¤¤¤¦¹Ô¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈÅù²Á¤Ç¤¹¡£
.LP
.SS
´û¸¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ÎÊÝ»ý
.LP
.LP
Java ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢\f2\-keep\fP ¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤ë¾å½ñ¤­¤ò²óÈò¤Ç¤­¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤¹¤Ç¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤ï¤é¤º¡¢¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¾ì¹ç (¤¿¤À¤·¡¢¤½¤ì¤é¤ÎÆâÍƤ¬Àµ³Î¤Ç¤¢¤ë¤È¤­°Ê³°¤Ï¥«¥¹¥¿¥Þ¥¤¥º¤ÏÈò¤±¤ë)¡¢\-keep ¥ª¥×¥·¥ç¥ó¤ÏÍ­ÍѤǤ¹¡£¼¡¤Î¥³¥Þ¥ó¥É¤Ï¡¢
.LP
.nf
\f3
.fl
idlj \fP\f3\-keep\fP My.idl
.fl
.fi
.LP
.LP
¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Ç¡¢¤Þ¤À¸ºß¤·¤Ê¤¤¤â¤Î¤ò¤¹¤Ù¤Æȯ¹Ô¤·¤Þ¤¹¡£
.LP
.SS
¥³¥ó¥Ñ¥¤¥ë¤Î¿ÊĽ¾õ¶·¤Îɽ¼¨
.LP
.LP
IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¼Â¹Ô¤Î³ÆÃʳ¬¤Ç¾õÂÖ¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£¡Ö¾éĹ¡×¥â¡¼¥É (¥á¥Ã¥»¡¼¥¸¤¬Â¿¤¤¥â¡¼¥É) ¤Ë¤¹¤ë¤Ë¤Ï¡¢\f2\-v\fP ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj \fP\f3\-v\fP My.idl
.fl
.fi
.LP
.LP
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¾éĹ¥â¡¼¥É¤Ç¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
.LP
.SS
¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Îɽ¼¨
.LP
.LP
IDL\-to\-Java ¥³¥ó¥Ñ¥¤¥é¤Î¥Ó¥ë¥É¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç \f2\-version\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£
.LP
.nf
\f3
.fl
idlj \-version
.fl
\fP
.fi
.LP
.LP
¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¥Ð¥¤¥ó¥Ç¥£¥ó¥°Æâ¤Ë¤â½ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¥³¥Þ¥ó¥É¹Ô¤Ë»ØÄꤹ¤ë¤È¡¢¤½¤ì°Ê³°¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤â¡¢¤¹¤Ù¤Æ̵»ë¤µ¤ì¤Þ¤¹¡£
.LP
.SH "¥ª¥×¥·¥ç¥ó"
.LP
.RS 3
.TP 3
\-d symbol
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢IDL ¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¤è¤¦¤Ê¹Ô¤òÄɲä·¤¿¾ì¹ç¤ÈÅù²Á¤Ç¤¹¡£
.nf
\f3
.fl
#define \fP\f4symbol\fP\f3
.fl
\fP
.fi
.TP 3
\-emitAll
#include ¥Õ¥¡¥¤¥ë Æâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤â´Þ¤á¤Æ¡¢ \f2¤¹¤Ù¤Æ¤Î·¿¤ò\fP ȯ¹Ô¤·¤Þ¤¹¡£
.TP 3
\-fside
ȯ¹Ô¤¹¤ë¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄêµÁ¤·¤Þ¤¹¡£\f2side\fP ¤Ï \f2client\fP¡¢\f2server\fP¡¢\f2serverTIE\fP¡¢\f2all\fP¡¢\f2allTIE\fP ¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£\f2\-fserverTIE\fP ¤Þ¤¿¤Ï \f2\-fallTIE\fP ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢°Ñ¾ù¥â¥Ç¥ë¥¹¥±¥ë¥È¥ó¤¬È¯¹Ô¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥é¥°¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢\f2\-fclient\fP ¤¬»ØÄꤵ¤ì¤¿¤â¤Î¤È¸«¤Ê¤µ¤ì¤Þ¤¹¡£
.TP 3
\-i include\-path
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Ï¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¸¡º÷¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¤Û¤«¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲäǤ­¤Þ¤¹¡£
.TP 3
\-keep
À¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬¾å½ñ¤­¤µ¤ì¤Þ¤»¤ó¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¾å½ñ¤­¤µ¤ì¤Þ¤¹¡£
.TP 3
\-noWarn
·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£
.TP 3
\-oldImplBase
v1.4 ¤è¤êÁ°¤Î JDK ORB ¤È¸ß´¹À­¤Î¤¢¤ë¥¹¥±¥ë¥È¥ó¤òÀ¸À®¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢POA ·Ñ¾µ¥â¥Ç¥ë¤Î¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢\f2ImplBase\fP ·Ñ¾µ¥â¥Ç¥ë¤Î¥¯¥é¥¹¤Ç¤¢¤ë¥µ¡¼¥Ð¡¼Â¦¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬À¸À®¤µ¤ì¤ë¤Î¤Ç¡¢¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¤Î²¼°Ì¸ß´¹À­¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
.TP 3
\-pkgPrefix type prefix
\f2type\fP ¤¬¥Õ¥¡¥¤¥ë¥¹¥³¡¼¥×¤Ç¸¡½Ð¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¤½¤Î·¿¤ËÂФ·¤ÆÀ¸À®¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢À¸À®¤µ¤ì¤ë Java ¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ë \f2prefix\fP ¤È¤¤¤¦ÀÜƬ¼­¤¬Éղ䵤ì¤Þ¤¹¡£\f2type\fP ¤Ï¡¢¥È¥Ã¥×¥ì¥Ù¥ë¥â¥¸¥å¡¼¥ë¤Îñ½ã̾¤«¡¢¤É¤Î¥â¥¸¥å¡¼¥ë¤è¤ê¤â³°Â¦¤ÇÄêµÁ¤µ¤ì¤¿ IDL ·¿¤Îñ½ã̾¤Î¤É¤Á¤é¤«¤Ç¤¹¡£
.TP 3
\-pkgTranslate type package
¼±Ê̻ҤÎÃæ¤Ë¥â¥¸¥å¡¼¥ë̾ type ¤¬¸¡½Ð¤µ¤ì¤ë¤È¡¢À¸À®¤µ¤ì¤ë Java ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢¼±Ê̻ҤÎÃæ¤Î¤½¤Î̾Á°¤¬ package ¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£ºÇ½é¤Ë \f2pkgPrefix\fP ¤òÊѹ¹¤·¤Þ¤¹¡£\f2type\fP ¤Ï¡¢¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥â¥¸¥å¡¼¥ë¡¢¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤Î¥â¥¸¥å¡¼¥ë¤Î³°Éô¤ÇÄêµÁ¤µ¤ì¤¿ IDL ·¿¤Îñ½ã̾¤Ç¤¹¡£¤½¤·¤Æ¡¢´°Á´¤Ê¥Ñ¥Ã¥±¡¼¥¸Ì¾¤ËÀµ³Î¤Ë°ìÃפ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
.LP
1 ¤Ä¤Î¼±Ê̻ҤÎÃæ¤ÇÊ£¿ô¤ÎÊÑ´¹¤¬¥Þ¥Ã¥Á¤¹¤ë¾ì¹ç¤Ï¡¢¤â¤Ã¤È¤âŤ¤¥Þ¥Ã¥Á¤¬Áª¤Ð¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê°ú¿ô¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
.nf
\f3
.fl
\-pkgTranslate foo bar \-pkgTranslate foo.baz buzz.fizz
.fl
\fP
.fi
.LP
¼¡¤Î¤è¤¦¤ÊÊÑ´¹¤¬¼Â»Ü¤µ¤ì¤Þ¤¹¡£
.nf
\f3
.fl
foo => bar
.fl
foo.boo => bar.boo
.fl
foo.baz => buzz.fizz
.fl
foo.baz.bar => buzz.fizz.bar
.fl
\fP
.fi
.LP
¼¡¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÊÑ´¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
.RS 3
.TP 2
o
\f2org\fP
.TP 2
o
\f2org.omg\fP¡¢¤Þ¤¿¤Ï \f2org.omg\fP ¤Î¥µ¥Ö¥Ñ¥Ã¥±¡¼¥¸
.RE
.LP
¤³¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸Ì¾¤òÊÑ´¹¤·¤è¤¦¤È¤¹¤ë¤È¡¢¸ß´¹À­¤Î¤Ê¤¤¥³¡¼¥É¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¤½¤·¤Æ¡¢\f2\-pkgTranslate\fP ¤Î¤¢¤È¤ÎºÇ½é¤Î°ú¿ô¤È¤·¤Æ¤½¤ì¤é¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤È¡¢¥¨¥é¡¼¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£
.TP 3
\-skeletonName xxx%yyy
\f2xxx%yyy\fP ¤¬¡¢¥¹¥±¥ë¥È¥ó¤Ë̾Á°¤òÉÕ¤±¤ë¥Ñ¥¿¡¼¥ó¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
.RS 3
.TP 2
o
\f2POA\fP ´ðÄ쥯¥é¥¹¤Î¾ì¹ç¤Ï¡Ö%POA¡×(\f2\-fserver\fP ¤Þ¤¿¤Ï \f2\-fall\fP)
.TP 2
o
\f2oldImplBase\fP ¥¯¥é¥¹¤Î¾ì¹ç¤Ï¡Ö_%ImplBase¡×(\f2\-oldImplBase\fP ¤«¤Ä (\f2\-fserver\fP ¤Þ¤¿¤Ï \f2\-fall\fP))
.RE
.TP 3
\-td dir
½ÐÎϥǥ£¥ì¥¯¥È¥ê¤È¤·¤Æ¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¯¡¢\f2dir\fP ¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
.TP 3
\-tieName xxx%yyy
¤³¤Î¥Ñ¥¿¡¼¥ó¤Ë½¾¤Ã¤Æ Tie ¤Ë̾Á°¤¬ÉÕ¤±¤é¤ì¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
.RS 3
.TP 2
o
\f2POA\fP Tie ´ðÄ쥯¥é¥¹¤Î¾ì¹ç¤Ï¡Ö%POATie¡×(\f2\-fserverTie\fP ¤Þ¤¿¤Ï \f2\-fallTie\fP)
.TP 2
o
\f2oldImplBase\fP Tie ¥¯¥é¥¹¤Î¾ì¹ç¤Ï¡Ö%_Tie¡×(\f2\-oldImplBase\fP ¤«¤Ä (\f2\-fserverTie\fP ¤Þ¤¿¤Ï \f2\-fallTie\fP))
.RE
.TP 3
\-nowarn, \-verbose
¾éĹ¥â¡¼¥É¤Ë¤Ê¤ê¤Þ¤¹¡£
.TP 3
\-version
¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
.RE
.LP
³Æ¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖÀâÌÀ¡×¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
.SH "À©Ìó"
.LP
.RS 3
.TP 2
o
¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×Æâ¤Î¥¨¥¹¥±¡¼¥×¤µ¤ì¤¿¼±Ê̻Ҥϡ¢IDL ¥×¥ê¥ß¥Æ¥£¥Ö·¿¤Î \f2Object\fP ¤Þ¤¿¤Ï \f2ValueBase\fP ¤ÈƱ¤¸ÄÖ¤ê¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¼±Ê̻ҤˤĤ¤¤Æ¤Ï¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤¬»öÁ°¤Ë¥í¡¼¥É¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ì¤é¤Î¼±Ê̻ҤκÆÄêµÁ¤òµö²Ä¤¹¤ë¤È¸µ¤ÎÄêµÁ¤¬¾å½ñ¤­¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤ª¤½¤é¤¯¹±µ×Ū¤ÊÀ©Ìó¤Ç¤¹¡£
.TP 2
o
\f2fixed\fP ¤È¤¤¤¦ IDL ·¿¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
.RE
.LP
.SH "´ûÃΤÎÌäÂêÅÀ"
.LP
.RS 3
.TP 2
o
¥°¥í¡¼¥Ð¥ë¼±Ê̻ҤˤĤ¤¤Æ¥¤¥ó¥Ý¡¼¥È¤¬À¸À®¤µ¤ì¤Þ¤»¤ó¡£Í½´ü¤µ¤ì¤Ê¤¤¥í¡¼¥«¥ë impl ¤ò¸Æ¤Ó½Ð¤¹¤È¡¢Îã³°¤ò¼õ¤±¼è¤ê¤Þ¤¹¡£ ¤·¤«¤·¡¢¤½¤Î¸¶°ø¤Ï¡¢\f2ServerDelegate\fP DSI ¥³¡¼¥ÉÆâ¤Î \f2NullPointerException\fP ¤Ë¤¢¤ë¤è¤¦¤Ç¤¹¡£
.RE
.LP