idlj(1) Java IDL and RMI-IIOP Tools idlj(1) (NAME) idlj - (IDL) . (SYNOPSIS) idlj [ options ] idlfile options . . idlfile . idlfile (IDL) . (DESCRIPTION) IDL-to-Java IDL . Java IDL: IDL to Java Language Mapping http://docs.oracle.com/javase/8/docs/technotes/guides/idl/mapping/jidlMapping.html . IDL-to-Java idltojava . (EMIT CLIENT AND SERVER BINDINGS) idlj IDL My.idl . idlj My.idl : idlj -fclient My.idl (skeleton) POA ( Inheritance Model) . idlg -fserver My.idl () : idlj -fclient -fserver My.idl idlj -fall My.idl : Servant (Portable Servant Inheritance Model) Tie. Tie Delegation Model . Portable Servant Inheritance Model. Portable Servant Inheritance . My My.idl MyPOA.java . My My MyPOA . MyPOA.java org.omg.PortableServer.Servant http://docs.oracle.com/javase/8/docs/api/org/omg/PortableServer/Servant.html . My callHandler IDL . PortableServer (POA) Servant . Portable Object Adapter (POA) http://docs.oracle.com/javase/8/docs/technotes/guides/idl/POA.html . Servant org.omg.PortableServer.Servant . servant POA POA servant (override) . -oldImplBase Java SE 1.4 . -oldImplBase API (deprecated) . Java SE 1.3 . makefile -oldImplBase idlj . POA . : idlj -fclient -fserver -oldImplBase My.idl idlj -fall -oldImplBase My.idl My My.idl _MyImplBase.java . My My _MyImplBase . Tie Delegation Model. Tie . (delegation model) . tie . Tie : idlj -fall My.idl idlj -fallTIE My.idl My MyPOATie.java . MyPOATie delegate . POA POA . delegate MyOperations . ORB MyPOATie : ORB orb = ORB.init(args, System.getProperties()); // Get reference to rootpoa & activate the POAManager POA rootpoa = (POA)orb.resolve_initial_references("RootPOA"); rootpoa.the_POAManager().activate(); // create servant and register it with the ORB MyServant myDelegate = new MyServant(); myDelegate.setORB(orb); // create a tie, with servant being the delegate. MyPOATie tie = new MyPOATie(myDelegate, rootpoa); // obtain the objectRef for the tie My ref = tie._this(orb); Tie . . . Tie . : . Tie IDL Java SE 1.4 . idlj -oldImplBase -fall My.idl idlj -oldImplBase -fallTIE My.idl My My_Tie.java . My_Tie impl . impl HelloOperations . ORB My_Tie : ORB orb = ORB.init(args, System.getProperties()); // create servant and register it with the ORB MyServant myDelegate = new MyServant(); myDelegate.setORB(orb); // create a tie, with servant being the delegate. MyPOATie tie = new MyPOATie(myDelegate); // obtain the objectRef for the tie My ref = tie._this(orb); : idlj -td /altdir My.idl. My ./My.java /altdir/My.java . INCLUDE My.idl idl MyOther.idl (include ) MyOther.idl . /includes : idlj -i /includes My.idl My.idl Another.idl /moreIncludes : idlj -i /includes -i /moreIncludes My.idl include . . idl.config CLASSPATH . idl.config : includes=/includes;/moreIncludes includes . (;) . . Windows Unix (:) . INCLUDE Java idl . include . idl : My.idl file: #include interface My { }; MyOther.idl file: interface MyOther { }; . #include (global scope) . #include import . #include (enclosed scope) #include Java . : My.idl file: #include interface My { #include }; MyOther.idl file: interface MyOther { }; Embedded.idl enum E {one, two, three}; idlj My.idl Java . MyOther.java #include -import . E.java #include . Embedded.idl My My ( MyPackage) . -emitAll . ./MyHolder.java ./MyHelper.java ./_MyStub.java ./MyPackage ./MyPackage/EHolder.java ./MyPackage/EHelper.java ./MyPackage/E.java ./My.java ABC IDL : Widgets.idl file: module Widgets { interface W1 {...}; interface W2 {...}; }; IDL-to-Java (bindings) W1 W2 Widgets . com. . com.abc.Widgets . Widgets : idlj -pkgPrefix Widgets com.abc Widgets.idl IDL Widgets.idl -pkgPrefix . IDL com.abc.Widgets Widgets . idl.config . PkgPrefix.= . PkgPrefix.Widgets=com.abc . (Repository ID) . (DEFINE SYMBOLS BEFORE COMPILATION) IDL . idlj -d MYDEF My.idl #define MYDEF My.idl . (PRESERVE PREEXISTING BINDINGS) -keep . . ( ) -keep . idlj -keep My.idl . (VIEW COMPILATION PROGRESS) IDL-to-Java . -v (verbose) : idlj -v My.idl. . (DISPLAY VERSION INFORMATION) IDL-to-Java -version : idlj -version. . . (OPTIONS) -d symbol IDL : #define symbol -demitAll #include . -fside . side client server serverTIE all allTIE . -fserverTIE -fallTIE (delegate model skeletons) . -fclient . -i include-path (included) . . -i keep . . -noWarn . -oldImplBase ORB JDK 1.4 . POA . ImplBase . -pkgPrefix typeprefix type (file scope) prefix . (type) IDL . -pkgTranslate typepackage type package . pkgPrefix . type IDL . : Command: pkgTranslate type pkg -pkgTranslate type2.baz pkg2.fizz Resulting Translation: type => pkg type.ext => pkg.ext type.baz => pkg2.fizz type2.baz.pkg => pkg2.fizz.pkg org org.omg org.omg () . -pkgTranslate . -skeletonName xxx%yyy xxx%yyy . : %POA POA ( -fserver -fall) _%ImplBase oldImplBase ( -oldImplBase (-fserver -fall)). -td dir dir . -tieName xxx%yyy xxx%yyy . : %POA POA ( -fserverTie -fallTie) _%Tie tie oldImplBase ( -oldImplBase (-fserverTie -fallTie)). -nowarn, -verbose . -version ..SH " (RESTRICTIONS)" IDL Object ValueBase . . . . IDL fixed . (KNOWN PROBLEMS) import . impl NullPointerException DSI ServerDelegate . JDK 8 21 November 2013 idlj(1)