idlj.1 revision 4169
0N/A." or visit www.oracle.com if you need additional information or have any
0N/A\f2idl\-file\fP �ϡ����ե������������ (IDL) �ˤ����������ä��ե������̾���Ǥ���\f2options\fP �ν��֤�Ǥ�դǤ�����\f2idl\-file\fP �������˻��ꤷ�ʤ���Фʤ�ޤ���
0N/Ahttp://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html �Ȥ��Ƥ���������IDL\-to\-Java ����ѥ���ΰ����Υ�������ˤϡ�\f2idltojava\fP �Ȥ���̾�����ä���Τ�����ޤ���
0N/A���饤�����¦�ΥХ���ǥ��ˤϡ������С�¦�Υ�����ȥ���Ȥ߹��ޤ�Ƥ��ޤ����ե��������Ф��ƥ����С�¦�ΥХ���ǥ�����������ˤϡ����Υ��ޥ�ɤ�¹Ԥ��ޤ���
0N/A�����С�¦�ΥХ���ǥ��ˤϡ����饤�����¦�ΥХ���ǥ��Τۤ��ˡ�������ȥ��ޤޤ�Ƥ��ޤ��������Ϥ��٤ơ� \f2POA\fP (�Ĥޤ�Ѿ���ǥ�) ���饹�Ǥ������饤�����¦�ȥ����С�¦��ξ��ΥХ���ǥ�������������ϡ����Υ��ޥ�� (�ɤ�����) �Τ����� 1 �Ĥ���Ѥ��ޤ���
0N/A�ǥե���ȤΥ����С�¦�Υ�ǥ�ϡ��ְܿ���ǽ�����Х�ȷѾ���ǥ�פǤ���\f2My.idl\fP ��� \f2My\fP ���ե��������������Ƥ�����ϡ�\f2MyPOA.java\fP �Ȥ����ե����뤬��������ޤ������μ����� \f2My\fP ������\f2MyPOA\fP ��Ѿ�����ɬ�פ�����ޤ���
\f2MyPOA.java\fP ��
http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html ���ĥ���륹�ȥ��١����Υ�����ȥ�ǡ�������ȥ������� IDL ���ե������˴�Ϣ�դ����Ƥ��� \f2InvokeHandler\fP ���ե������ȥ��ڥ졼����ե�������������ޤ���
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 ���Τ�Τˤ�äƸƤӽФ��졢�����Х�Ȥ�ư������椹�뤿��˥桼�����������С��饤�ɤǤ����åɤ����ޤ���
�Ѿ���ǥ�Τ⤦ 1 �ĤΥ��ץ����ϡ�\f2\-oldImplBase\fP �ե饰����Ѥ��뤳�Ȥǡ�J2SE 1.4 ������ΥС������� Java �ץ?��ߥ���ȸߴ����Τ��륵���С�¦�Х���ǥ����������뤳�ȤǤ�����������\f2\-oldImplBase\fP �ե饰����Ѥ���Τϡ�ɸ��Ū�ʼ�ˡ�ǤϤ���ޤ������� API �Ϻ�����侩�ˤʤ�ͽ��Ǥ������Υե饰����Ѥ���Τϡ�J2SE 1.3 �ǵ��Ҥ��줿��¸�Υ����С��Ȥθߴ�����ɬ�פʾ������Ǥ������ξ��ˤϴ�¸�� MAKEFILE ���ѹ�����\f2idlj\fP ����ѥ���� \f2\-oldImplBase\fP �ե饰���ɲä���ɬ�פ�����ޤ����������ʤ��ȡ�POA �١����Υ����С�¦�ޥåԥ���������ޤ������̸ߴ����Τ��륵���С�¦�Х���ǥ�����������ˤϡ����Υ��ޥ�ɤ���Ѥ��ޤ���
idlj \fP\f3\-fclient \-fserver\fP \f3\-oldImplBase\fP My.idl
idlj \f3\-fall\fP \f3\-oldImplBase\fP My.idl
\f2My.idl\fP ��� \f2My\fP ���ե��������������Ƥ�����ϡ�\f2_MyImplBase.java\fP �Ȥ����ե����뤬��������ޤ���\f2My\fP ���Ф��Ƥ��μ������������μ����� \f2_MyImplBase\fP ����Ѿ����ʤ���Фʤ�ޤ���
�⤦ 1 �ĤΥ����С�¦��ǥ�ϡ�Tie ��ǥ�ȸƤФ���ΤǤ������Υ����С�¦��ǥ�ϡ��Ѿ��ǥ�Ǥ���Tie �ȥ�����ȥ��Ʊ�����������뤳�ȤϤǤ��ʤ����ᡢ�������̡����������ʤ���Фʤ�ޤ����Υ��ޥ�ɤˤ�äơ�Tie ��ǥ��ѤΥХ���ǥ�����������ޤ���
idlj \fP\f3\-fall\fP My.idl
idlj \f3\-fallTIE\fP My.idl
\f2My\fP �Ȥ������ե������ξ�硢�嵭�� 2 ���ܤΥ��ޥ�ɤˤ�ꡢ\f2MyPOATie.java\fP ����������ޤ���\f2MyPOATie\fP �Υ��ȥ饯���ϡ�\f2delegate\fP ����ޤ���������Ǥϡ��ǥե���Ȥ� POA ��ǥ����Ѥ��Ƥ��뤿�ᡢ���ȥ饯���ˤ� \f2poa\fP ��ɬ�פǤ���\f2delegate\fP ���Ф��Ƽ��������ʤ���Фʤ�ޤ������μ����� \f2MyOperations\fP ���ե���������Ѿ�����ɬ�פ���������ǡ�����¾�Υ��饹����Ѿ�����ɬ�פϤ���ޤ������������μ����� ORB �Ȱ��˻��Ѥ���ˤϡ�\f2MyPOATie\fP ��Ǽ������åפ��ʤ���Фʤ�ޤ����Ȥ��С����Τ褦�ˤ��ޤ���
POA rootpoa = (POA)orb.resolve_initial_references("RootPOA");
rootpoa.the_POAManager().activate();
myDelegate.setORB(orb);
¾�μ�������Ѿ����ʤ���Фʤ�ʤ���硢ɸ��ηѾ���ǥ�ǤϤʤ� Tie ��ǥ����Ѥ��뤳�Ȥ�����ޤ���Java �ξ��ϡ����ե������ηѾ��θĿ������¤Ϥ���ޤ������饹�ηѾ��˻��ѤǤ��륹��åȤ� 1 �Ĥ����Ǥ����Ѿ���ǥ����Ѥ������ϡ����Υ���åȤ���ͭ����ޤ���Tie ��ǥ����Ѥ������ϡ����Υ���åȤ����Ѥ��줺���桼�������ȼ�����Ū�ǻ��Ѥ��뤳�Ȥ��Ǥ��ޤ�����������������ˡ�ˤϡ��������Υ�٥뤬 1 ��Ƴ�������Ȥ�������������ޤ�����åɤ�ƤӽФ��Ȥ��ˡ�;ʬ�ʥ�åɸƤӽФ��� 1 ��ȯ�����ޤ���
IDL �ΥС������ J2SE 1.4 ������ΥС������� Java ����ؤΥޥåԥȸߴ����Τ��롢�����С�¦�� Tie ��ǥ�ΥХ���ǥ�����������ˤϡ����Υ��ޥ�ɤ���Ѥ��ޤ���
idlj \fP\f3\-oldImplBase\fP \f3\-fall\fP My.idl
idlj \f3\-oldImplBase\fP \f3\-fallTIE\fP My.idl
\f2My\fP �Ȥ������ե������ξ�硢����ˤ�� \f2My_Tie.java\fP ����������ޤ���\f2My_Tie\fP �Υ��ȥ饯���ϡ�\f2impl\fP ����ޤ���\f2impl\fP ���Ф��Ƽ��������ʤ���Фʤ�ޤ������μ����� \f2HelloOperations\fP ���ե���������Ѿ�����ɬ�פ���������ǡ�����¾�Υ��饹����Ѿ�����ɬ�פϤ���ޤ������������μ����� ORB �Ȱ��˻��Ѥ���ˤϡ�\f2My_Tie\fP ��Ǽ������åפ��ʤ���Фʤ�ޤ����Ȥ��С����Τ褦�ˤ��ޤ���
myDelegate.setORB(orb);
idlj \fP\f3\-td /altdir\fP My.idl
\f2My.idl\fP �ˤ⤦ 1 �Ĥ� IDL �ե����� \f2MyOther.idl\fP �����롼�ɤ���Ƥ����硢����ѥ���ϡ��?����ǥ��쥯�ȥ�� \f2MyOther.idl\fP �������Τ����ꤷ�ޤ����⤷���Υե����뤬�����Ȥ��� \f2/includes\fP �ˤ�����ϡ����Τ褦�ʥ��ޥ�ɤǥ���ѥ����ƤӽФ��ޤ���
idlj \fP\f3\-i /includes\fP My.idl
�ޤ����⤷ \f2My.idl\fP �ˡ����Ȥ��� \f2/moreIncludes\fP �ˤ��� \f2Another.idl\fP �⥤�롼�ɤ���Ƥ���ΤǤ���С����Τ褦�ʥ��ޥ�ɤǥ���ѥ����ƤӽФ��ޤ���
idlj \fP\f3\-i /includes \-i /moreIncludes\fP My.idl
���Τ褦�ʷ����ǥ��롼�ɤ���ꤹ��ȡ����ޥ�ɤ�Ĺ����ʣ���ˤʤ�ޤ��������ǡ����롼�ɥե�������������ѥ���˻ؼ����뤿����̤���ˡ���Ѱդ���Ƥ��ޤ���������ˡ�ϡ��Ķ��ѿ��ιͤ���Ȼ��Ƥ��ޤ���CLASSPATH �˥ꥹ�Ȥ���Ƥ���ǥ��쥯�ȥ���� \f2idl.config\fP �Ȥ���̾���Υե������������ޤ������� \f2idl.config\fP ����ˡ����Τ褦�ʷ����ιԤ�����ޤ���
����ѥ���ϡ����Υե�������������롼�ɥꥹ�Ȥ��ɤ߹��ߤޤ���������Ǥϡ��ǥ��쥯�ȥ�δ֤ζ��ڤ�ʸ��ϥ��ߥ���� (;) �ˤʤäƤ��ޤ������ζ��ڤ�ʸ��ϡ��ץ�åȥե�����ˤ�äưۤʤ�ޤ������Ȥ��С�Windows �ץ�åȥե�����Ǥϥ��ߥ����Ǥ�����Unix �ץ�åȥե�����Ǥϥ����Ǥ��� \f2���롼��\fP�ξܺ٤ˤĤ��Ƥϡ�
http://java.sun.com/javase/6/docs/technotes/tools/index.html#general �Ȥ��Ƥ���������
�ǥե���ȤǤϡ����ޥ�ɹԤ˻��ꤷ�� IDL �ե�������������Ƥ��륤�ե������乽¤�ΤʤɤˤĤ��ƤΤߡ�Java �Х���ǥ�����������ޤ������롼�ɤ��줿�ե�������������Ƥ��뷿�ˤĤ��Ƥϡ�Java �Х���ǥ�����������ޤ����Ȥ��С����� 2 �Ĥ� IDL �ե�����ˤĤ��ƹͤ��Ƥߤޤ��礦��
\f4My.idl\fP
#include <MyOther.idl>
\f4MyOther.idl\fP
idlj My.idl
\f2My.idl\fP ���������Ƥ��뷿�ȡ�\f2My.idl\fP �˥��롼�ɤ��줿�ե����� (������Ǥ� \f2MyOther.idl\fP) ���������Ƥ��뷿���٤ƤˤĤ��� Java �Х���ǥ�����������ˤϡ����Υ��ޥ�ɤ���Ѥ��ޤ���
idlj \fP\f3\-emitAll\fP My.idl
���Υǥե���Ȥε�§�˴ؤ�����դ��ʤ���Фʤ�ʤ����Ȥ�����ޤ������?�Х륹�����פ˻��ꤷ�� \f2#include\fP ʸ�ϡ����ҤΤȤ���˽����ޤ��������� \f2#include\fP ʸ�ϡ�����ݡ���ʸ�ȸ��ʤ����Ȥ��Ǥ��ޤ���������Ф��ơ�¾������˰Ϥޤ줿����������˻��ꤷ�� \f2#include\fP ʸ�ϡ������ΰ�̣�Ǥ� \f2#include\fP ʸ�Ȥ��ƽ����ޤ����Ĥޤꡢ���롼�ɤ��줿�ե�����ˤ��륳���ɤ������Υե�����ˤ��Τޤ��ꤵ��Ƥ��뤫�Τ褦�˽���졢������Ф��� Java �Х���ǥ���ȯ�Ԥ���ޤ������Ϥ�����Ǥ���
\f4My.idl\fP
#include <MyOther.idl>
#include <Embedded.idl>
\f4MyOther.idl\fP
\f4Embedded.idl\fP
idlj My.idl
./My.java
����ݡ���ʸ�ȸ��ʤ���� \f2#include\fP ���������Ƥ��뤿�ᡢ\f2MyOther.java\fP ����������ޤ��������������ΰ�̣�Ǥ� \f2#include\fP ���������Ƥ��뤿�ᡢ\f2E.java\fP ����������ޤ�������ˡ�\f2Embedded.idl\fP �� \f2My\fP ���ե������Υ���������˥��롼�ɤ���Ƥ������ᡢ\f2My\fP �Υ��������� (�Ĥޤꡢ\f2MyPackage\fP ��) ����������Ƥ��ޤ���
\f4Widgets.idl\fP
���Υե�������Ф��� IDL\-to\-Java ����ѥ����¹Ԥ���ȡ�\f2W1\fP ����� \f2W2\fP ���Ф��� Java �Х���ǥ��� \f2Widgets\fP �ѥå����������������ޤ������������ȳ��δ���ˤ��ȡ���ҤΥѥå������ϡ�\f2com.<���̾>\fP �Ȥ���̾���Υѥå���������֤����ȤˤʤäƤ��ޤ������Τ��ᡢ\f2Widgets\fP �ѥå������Ǥ��Խ�ʬ�Ǥ�������˽����ˤϡ��ѥå������� \f2com.abc.Widgets\fP �ˤ���ɬ�פ�����ޤ������Υѥå�������Ƭ���� \f2Widgets\fP �⥸�塼����ղä���ˤϡ����Υ��ޥ�ɤ�¹Ԥ��ޤ���
\f2Widgets.idl\fP �롼�ɤ��Ƥ��� IDL �ե����뤬������ϡ����Υ��ޥ�ɤˤ� \f2\-pkgPrefix\fP �ե饰��ɬ�פǤ������Υե饰����ꤷ�ʤ��ȡ����� IDL �ե�����ϡ�\f2com.abc.Widgets\fP �ѥå������ǤϤʤ���\f2Widgets\fP �ѥå����������뤳�Ȥˤʤ�ޤ���
��Ƭ����ɬ�פʥѥå������������Ĥ⤢����ϡ����Ҥ� \f2idl.config\fP �ե��������Ƭ������ꤹ��Τ���ñ�Ǥ����ѥå���������Ƭ������ꤹ��Ԥϡ����줾�켡�η����ǵ��Ҥ��ޤ���
����ѥ����ѤΥ���ܥ뤬 IDL �ե���������������Ƥ��ʤ����ϡ����Υ���ܥ���������ɬ�פ�����ޤ�������ϡ����Ȥ��С��Х���ǥ�����˥ǥХå������ɤ��Ȥ������Ȥ��˻��Ѥ��ޤ������Υ��ޥ�ɤϡ�
idlj \fP\f3\-d\fP MYDEF My.idl
\f2My.idl\fP ��� \f2#define MYDEF\fP �Ȥ����Ԥ���ꤷ����������Ǥ���
Java �Х���ǥ��ե����뤬���Ǥ�¸�ߤ�����ϡ�\f2\-keep\fP �ե饰����ꤹ��ȡ�����ѥ���ˤ�������Ǥ��ޤ����ǥե���ȤǤϡ����Ǥ�¸�ߤ��뤫�ɤ����ˤ�����餺�����٤ƤΥե����뤬��������ޤ��������Υե���������ޥ���������� (�����������������Ƥ����ΤǤ���Ȥ��ʳ��ϥ������ޥ�������)��\-keep ���ץ�����ͭ�ѤǤ������Υ��ޥ�ɤϡ�
idlj \fP\f3\-keep\fP My.idl
IDL\-to\-Java ����ѥ���ϡ��¹Ԥγ��ʳ��Ǿ��֥�å��������������ޤ����־�Ĺ�ץ⡼�� (��å�������¿���⡼��) �ˤ���ˤϡ�\f2\-v\fP ���ץ�������Ѥ��ޤ���
idlj \fP\f3\-v\fP My.idl
�С���������ϡ�����ѥ���ˤ�ä��������줿�Х���ǥ�����ˤ���ޤ�Ƥ��ޤ������Υ��ץ����ޥ�ɹԤ˻��ꤹ��ȡ�����ʳ��Υ��ץ�������ꤷ�Ƥ⡢���٤�̵�뤵��ޤ���
ȯ�Ԥ���Х���ǥ���������ޤ���\f2side\fP �� \f2client\fP��\f2server\fP��\f2serverTIE\fP��\f2all\fP��\f2allTIE\fP �Τ����줫�ˤʤ�ޤ���\f2\-fserverTIE\fP �ޤ��� \f2\-fallTIE\fP ���ץ�������ꤹ��ȡ��Ѿ��ǥ륹����ȥ�ȯ�Ԥ���ޤ������Υե饰����ꤷ�ʤ��ä����ϡ�\f2\-fclient\fP �����ꤵ�줿��Τȸ��ʤ���ޤ���
v1.4 ������� JDK ORB �ȸߴ����Τ��륹����ȥ���������ޤ����ǥե���ȤǤϡ�POA �Ѿ���ǥ�Υ����С�¦�Х���ǥ�����������ޤ������Υ��ץ�������ꤹ��ȡ�\f2ImplBase\fP �Ѿ���ǥ�Υ��饹�Ǥ��륵���С�¦�Х���ǥ������������Τǡ��Ť��С������� Java �ץ?��ߥ���Ȥβ��̸ߴ����������ޤ���
\f2type\fP ���ե����륹�����פǸ��Ф��줿���ϡ����η����Ф�����������뤹�٤ƤΥե�����ˤĤ��ơ���������� Java �ѥå�����̾�� \f2prefix\fP �Ȥ�����Ƭ�����ղä���ޤ���\f2type\fP �ϡ��ȥåץ�٥�⥸�塼���ñ��̾�����ɤΥ⥸�塼����⳰¦��������줿 IDL ����ñ��̾�Τɤ��餫�Ǥ���
���̻Ҥ���˥⥸�塼��̾ type �����Ф����ȡ���������� Java �ѥå�������Τ��٤ƤΥե�����ˤĤ��ơ����̻Ҥ���Τ���̾���� package ���֤��������ޤ����ǽ�� \f2pkgPrefix\fP ���ѹ����ޤ���\f2type\fP �ϡ��ȥåץ�٥�Υ⥸�塼�롢�ޤ��Ϥ��٤ƤΥ⥸�塼��γ�����������줿 IDL ����ñ��̾�Ǥ��������ơ������ʥѥå�����̾�����Τ˰��פ��ʤ���Фʤ�ޤ���
�����Υѥå�����̾���Ѵ����褦�Ȥ���ȡ��ߴ����Τʤ������ɤ���������ޤ��������ơ�\f2\-pkgTranslate\fP �Τ��Ȥκǽ�ΰ���Ȥ��Ƥ����Υѥå���������Ѥ���ȡ����顼�Ȥ��ư����ޤ���
\f2oldImplBase\fP ���饹�ξ��ϡ�_%ImplBase��(\f2\-oldImplBase\fP ���� (\f2\-fserver\fP �ޤ��� \f2\-fall\fP))
\f2oldImplBase\fP Tie ���饹�ξ��ϡ�%_Tie��(\f2\-oldImplBase\fP ���� (\f2\-fserverTie\fP �ޤ��� \f2\-fallTie\fP))
���?�Х륹��������Υ��������פ��줿���̻Ҥϡ�IDL �ץ�ߥƥ��ַ��� \f2Object\fP �ޤ��� \f2ValueBase\fP ��Ʊ���֤�Ǥ��äƤϤʤ�ޤ������μ��̻ҤˤĤ��Ƥϡ�����ܥ�ơ��֥뤬�����˥?�ɤ���Ƥ��ꡢ�����μ��̻Ҥκ��������Ĥ���ȸ�������������Ƥ��ޤ��ޤ�������ϡ������餯����Ū������Ǥ���