{
    "content": [
        {
            "type": "text",
            "text": "# idlj (man)\n\n## NAME\n\nidlj - Generates Java bindings for a specified Interface Definition Language (IDL) file.\n\n## SYNOPSIS\n\nidlj [ options ] idlfile\noptions\nThe command-line options. See Options. Options can appear in any order, but must\nprecede the idlfile.\nidlfile\nThe name of a file that contains Interface Definition Language (IDL) definitions.\n\n## DESCRIPTION\n\nThe IDL-to-Java Compiler generates the Java bindings for a specified IDL file. For binding\ndetails, see Java IDL: IDL to Java Language Mapping at\nhttp://docs.oracle.com/javase/8/docs/technotes/guides/idl/mapping/jidlMapping.html\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION** (52 subsections)\n- **OPTIONS** (6 subsections)\n- **RESTRICTIONS**\n- **KNOWN PROBLEMS**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "idlj",
        "section": "",
        "mode": "man",
        "summary": "idlj - Generates Java bindings for a specified Interface Definition Language (IDL) file.",
        "synopsis": "idlj [ options ] idlfile\noptions\nThe command-line options. See Options. Options can appear in any order, but must\nprecede the idlfile.\nidlfile\nThe name of a file that contains Interface Definition Language (IDL) definitions.",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Emit all types, including those found in #include files."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Defines what bindings to emit. The side parameter can be client, server, serverTIE, all, or allTIE. The -fserverTIE and -fallTIE options cause delegate model skeletons to be emitted. Defaults to -fclient when the flag is not specified. -i include-path By default, the current directory is scanned for included files. This option adds another directory. -i keep If a file to be generated already exists, then do not overwrite it. By default it is overwritten."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Suppress warning messages."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Generates skeletons compatible with pre-1.4 JDK ORBs. By default, the POA Inheritance Model server-side bindings are generated. This option provides backward-compatibility with earlier releases of the Java programming language by generating server-side bindings that are ImplBase Inheritance Model classes. -pkgPrefix typeprefix Wherever type is encountered at file scope, prefix the generated Java package name with prefix for all files generated for that type. The type is the simple name of either a top-level module, or an IDL type defined outside of any module. -pkgTranslate typepackage Whenever the module name type is encountered in an identifier, replace it in the identifier with package for all files in the generated Java package. Note that pkgPrefix changes are made first. The type value is the simple name of either a top- level module, or an IDL type defined outside of any module and must match the full package name exactly. If more than one translation matches an identifier, then the longest match is chosen as shown in the following example: 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 The following package names org, org.omg, or any subpackages of org.omg cannot be translated. Any attempt to translate these packages results in uncompilable code, and the use of these packages as the first argument after -pkgTranslate is treated as an error. -skeletonName xxx%yyy Use xxx%yyy as the pattern for naming the skeleton. The defaults are: %POA for the POA base class (-fserver or -fall), and %ImplBase for the oldImplBase class (-oldImplBase) and (-fserver or -fall)). -td dir Use dir for the output directory instead of the current directory. -tieName xxx%yyy Use xxx%yyy according to the pattern. The defaults are: %POA for the POA base class (-fserverTie or -fallTie), and %Tie for the oldImplBase tie class (-oldImplBase) and (-fserverTie or -fallTie))"
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Displays release information and terminates."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Displays release information and terminates."
            }
        ],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 9,
                "subsections": [
                    {
                        "name": "idlj My.idl",
                        "lines": 2
                    },
                    {
                        "name": "idlj -fclient My.idl",
                        "lines": 3
                    },
                    {
                        "name": "idlg -fserver My.idl",
                        "lines": 3
                    },
                    {
                        "name": "idlj -fclient -fserver My.idl",
                        "lines": 1
                    },
                    {
                        "name": "idlj -fall My.idl",
                        "lines": 25
                    },
                    {
                        "name": "idlj -fclient -fserver -oldImplBase My.idl",
                        "lines": 1
                    },
                    {
                        "name": "idlj -fall -oldImplBase My.idl",
                        "lines": 9
                    },
                    {
                        "name": "idlj -fall My.idl",
                        "lines": 1
                    },
                    {
                        "name": "idlj -fallTIE My.idl",
                        "lines": 6
                    },
                    {
                        "name": "ORB orb = ORB.init(args, System.getProperties());",
                        "lines": 1
                    },
                    {
                        "name": "// Get reference to rootpoa & activate the POAManager",
                        "lines": 2
                    },
                    {
                        "name": "// create servant and register it with the ORB",
                        "lines": 1
                    },
                    {
                        "name": "MyServant myDelegate = new MyServant();",
                        "lines": 1
                    },
                    {
                        "name": "myDelegate.setORB(orb);",
                        "lines": 1
                    },
                    {
                        "name": "// create a tie, with servant being the delegate.",
                        "lines": 1
                    },
                    {
                        "name": "MyPOATie tie = new MyPOATie(myDelegate, rootpoa);",
                        "lines": 1
                    },
                    {
                        "name": "// obtain the objectRef for the tie",
                        "lines": 12
                    },
                    {
                        "name": "idlj -oldImplBase -fall My.idl",
                        "lines": 1
                    },
                    {
                        "name": "idlj -oldImplBase -fallTIE My.idl",
                        "lines": 5
                    },
                    {
                        "name": "ORB orb = ORB.init(args, System.getProperties());",
                        "lines": 1
                    },
                    {
                        "name": "// create servant and register it with the ORB",
                        "lines": 1
                    },
                    {
                        "name": "MyServant myDelegate = new MyServant();",
                        "lines": 1
                    },
                    {
                        "name": "myDelegate.setORB(orb);",
                        "lines": 1
                    },
                    {
                        "name": "// create a tie, with servant being the delegate.",
                        "lines": 1
                    },
                    {
                        "name": "MyPOATie tie = new MyPOATie(myDelegate);",
                        "lines": 1
                    },
                    {
                        "name": "// obtain the objectRef for the tie",
                        "lines": 15
                    },
                    {
                        "name": "idlj -i /includes My.idl",
                        "lines": 3
                    },
                    {
                        "name": "idlj -i /includes -i /moreIncludes My.idl",
                        "lines": 5
                    },
                    {
                        "name": "includes=/includes;/moreIncludes",
                        "lines": 10
                    },
                    {
                        "name": "My.idl file:",
                        "lines": 1
                    },
                    {
                        "name": "#include <MyOther.idl>",
                        "lines": 1
                    },
                    {
                        "name": "interface My",
                        "lines": 2
                    },
                    {
                        "name": "MyOther.idl file:",
                        "lines": 1
                    },
                    {
                        "name": "interface MyOther",
                        "lines": 10
                    },
                    {
                        "name": "My.idl file:",
                        "lines": 1
                    },
                    {
                        "name": "#include <MyOther.idl>",
                        "lines": 1
                    },
                    {
                        "name": "interface My",
                        "lines": 3
                    },
                    {
                        "name": "MyOther.idl file:",
                        "lines": 1
                    },
                    {
                        "name": "interface MyOther",
                        "lines": 2
                    },
                    {
                        "name": "Embedded.idl",
                        "lines": 1
                    },
                    {
                        "name": "enum E {one, two, three};",
                        "lines": 7
                    },
                    {
                        "name": "./MyHolder.java",
                        "lines": 1
                    },
                    {
                        "name": "./MyHelper.java",
                        "lines": 1
                    },
                    {
                        "name": "./MyPackage",
                        "lines": 1
                    },
                    {
                        "name": "./MyPackage/EHolder.java",
                        "lines": 1
                    },
                    {
                        "name": "./MyPackage/EHelper.java",
                        "lines": 1
                    },
                    {
                        "name": "./MyPackage/E.java",
                        "lines": 1
                    },
                    {
                        "name": "./My.java",
                        "lines": 3
                    },
                    {
                        "name": "Widgets.idl file:",
                        "lines": 1
                    },
                    {
                        "name": "module Widgets",
                        "lines": 11
                    },
                    {
                        "name": "idlj -pkgPrefix Widgets com.abc Widgets.idl",
                        "lines": 19
                    },
                    {
                        "name": "-keep",
                        "lines": 13
                    }
                ]
            },
            {
                "name": "OPTIONS",
                "lines": 7,
                "subsections": [
                    {
                        "name": "-demitAll",
                        "lines": 2
                    },
                    {
                        "name": "-fside",
                        "lines": 12
                    },
                    {
                        "name": "-noWarn",
                        "lines": 2
                    },
                    {
                        "name": "-oldImplBase",
                        "lines": 53
                    },
                    {
                        "name": "-nowarn, -verbose",
                        "lines": 2
                    },
                    {
                        "name": "-version",
                        "lines": 2
                    }
                ]
            },
            {
                "name": "RESTRICTIONS",
                "lines": 7,
                "subsections": []
            },
            {
                "name": "KNOWN PROBLEMS",
                "lines": 7,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "idlj - Generates Java bindings for a specified Interface Definition Language (IDL) file.\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "idlj [ options ] idlfile\n\n\noptions\nThe command-line options. See Options. Options can appear in any order, but must\nprecede the idlfile.\n\nidlfile\nThe name of a file that contains Interface Definition Language (IDL) definitions.\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "The IDL-to-Java Compiler generates the Java bindings for a specified IDL file. For binding\ndetails, see Java IDL: IDL to Java Language Mapping at\nhttp://docs.oracle.com/javase/8/docs/technotes/guides/idl/mapping/jidlMapping.html\n\nSome earlier releases of the IDL-to-Java compiler were named idltojava.\n\nEMIT CLIENT AND SERVER BINDINGS\nThe following idlj command generates an IDL file named My.idl with client-side bindings.\n",
                "subsections": [
                    {
                        "name": "idlj My.idl",
                        "content": "The previous syntax is equivalent to the following:\n"
                    },
                    {
                        "name": "idlj -fclient My.idl",
                        "content": "The next example generates the server-side bindings, and includes the client-side bindings\nplus the skeleton, all of which are POA (Inheritance Model).\n"
                    },
                    {
                        "name": "idlg -fserver My.idl",
                        "content": "If you want to generate both client and server-side bindings, then use one of the following\n(equivalent) commands:\n"
                    },
                    {
                        "name": "idlj -fclient -fserver My.idl",
                        "content": ""
                    },
                    {
                        "name": "idlj -fall My.idl",
                        "content": "There are two possible server-side models: the Portal Servant Inheritance Model and the Tie\nModel. See Tie Delegation Model.\n\nPortable Servant Inheritance Model. The default server-side model is the Portable Servant\nInheritance Model. Given an interface My defined in My.idl, the file MyPOA.java is generated.\nYou must provide the implementation for the My interface, and the My interface must inherit\nfrom the MyPOA class. MyPOA.java is a stream-based skeleton that extends the\norg.omg.PortableServer.Servant class at\nhttp://docs.oracle.com/javase/8/docs/api/org/omg/PortableServer/Servant.html The My interface\nimplements the callHandler interface and the operations interface associated with the IDL\ninterface the skeleton implements.The PortableServer module for the Portable Object Adapter\n(POA) defines the native Servant type. See Portable Object Adapter (POA) at\nhttp://docs.oracle.com/javase/8/docs/technotes/guides/idl/POA.html In the Java programming\nlanguage, the Servant type is mapped to the Java org.omg.PortableServer.Servant class. It\nserves as the base class for all POA servant implementations and provides a number of methods\nthat can be called by the application programmer, and methods that are called by the POA and\nthat can be overridden by the user to control aspects of servant behavior.Another option for\nthe Inheritance Model is to use the -oldImplBase flag to generate server-side bindings that\nare compatible with releases of the Java programming language before Java SE 1.4. The\n-oldImplBase flag is nonstandard, and these APIs are deprecated. You would use this flag only\nfor compatibility with existing servers written in Java SE 1.3. In that case, you would need\nto modify an existing make file to add the -oldImplBase flag to the idlj compiler. Otherwise\nPOA-based server-side mappings are generated. To generate server-side bindings that are\nbackward compatible, do the following:\n"
                    },
                    {
                        "name": "idlj -fclient -fserver -oldImplBase My.idl",
                        "content": ""
                    },
                    {
                        "name": "idlj -fall -oldImplBase My.idl",
                        "content": "Given an interface My defined in My.idl, the file MyImplBase.java is generated. You must\nprovide the implementation for the My interface, and the My interface must inherit from the\nMyImplBase class.\n\nTie Delegation Model. The other server-side model is called the Tie Model. This is a\ndelegation model. Because it is not possible to generate ties and skeletons at the same time,\nthey must be generated separately. The following commands generate the bindings for the Tie\nModel:\n"
                    },
                    {
                        "name": "idlj -fall My.idl",
                        "content": ""
                    },
                    {
                        "name": "idlj -fallTIE My.idl",
                        "content": "For the My interface, the second command generates MyPOATie.java. The constructor to the\nMyPOATie class takes a delegate. In this example, using the default POA model, the\nconstructor also needs a POA. You must provide the implementation for the delegate, but it\ndoes not have to inherit from any other class, only the interface MyOperations. To use it\nwith the ORB, you must wrap your implementation within the MyPOATie class, for example:\n"
                    },
                    {
                        "name": "ORB orb = ORB.init(args, System.getProperties());",
                        "content": ""
                    },
                    {
                        "name": "// Get reference to rootpoa & activate the POAManager",
                        "content": "POA rootpoa = (POA)orb.resolveinitialreferences(\"RootPOA\");\nrootpoa.thePOAManager().activate();"
                    },
                    {
                        "name": "// create servant and register it with the ORB",
                        "content": ""
                    },
                    {
                        "name": "MyServant myDelegate = new MyServant();",
                        "content": ""
                    },
                    {
                        "name": "myDelegate.setORB(orb);",
                        "content": ""
                    },
                    {
                        "name": "// create a tie, with servant being the delegate.",
                        "content": ""
                    },
                    {
                        "name": "MyPOATie tie = new MyPOATie(myDelegate, rootpoa);",
                        "content": ""
                    },
                    {
                        "name": "// obtain the objectRef for the tie",
                        "content": "My ref = tie.this(orb);\n\nYou might want to use the Tie model instead of the typical Inheritance model when your\nimplementation must inherit from some other implementation. Java allows any number of\ninterface inheritance, but there is only one slot for class inheritance. If you use the\ninheritance model, then that slot is used up. With the Tie Model, that slot is freed up for\nyour own use. The drawback is that it introduces a level of indirection: one extra method\ncall occurs when a method is called.\n\nFor server-side generation, Tie model bindings that are compatible with versions of the IDL\nto Java language mapping in versions earlier than Java SE 1.4.\n"
                    },
                    {
                        "name": "idlj -oldImplBase -fall My.idl",
                        "content": ""
                    },
                    {
                        "name": "idlj -oldImplBase -fallTIE My.idl",
                        "content": "For the My interface, the this generates MyTie.java. The constructor to the MyTie class\ntakes an impl object. You must provide the implementation for impl, but it does not have to\ninherit from any other class, only the interface HelloOperations. But to use it with the ORB,\nyou must wrap your implementation within MyTie, for example:\n"
                    },
                    {
                        "name": "ORB orb = ORB.init(args, System.getProperties());",
                        "content": ""
                    },
                    {
                        "name": "// create servant and register it with the ORB",
                        "content": ""
                    },
                    {
                        "name": "MyServant myDelegate = new MyServant();",
                        "content": ""
                    },
                    {
                        "name": "myDelegate.setORB(orb);",
                        "content": ""
                    },
                    {
                        "name": "// create a tie, with servant being the delegate.",
                        "content": ""
                    },
                    {
                        "name": "MyPOATie tie = new MyPOATie(myDelegate);",
                        "content": ""
                    },
                    {
                        "name": "// obtain the objectRef for the tie",
                        "content": "My ref = tie.this(orb);\n\n\nSPECIFY ALTERNATE LOCATIONS FOR EMITTED FILES\nIf you want to direct the emitted files to a directory other than the current directory, then\ncall the compiler this way: idlj -td /altdir My.idl.\n\nFor the My interface, the bindings are emitted to /altdir/My.java, etc., instead of\n./My.java.\n\nSPECIFY ALTERNATE LOCATIONS FOR INCLUDE FILES\nIf the My.idl file includes another idl file, MyOther.idl, then the compiler assumes that the\nMyOther.idl file resides in the local directory. If it resides in /includes, for example,\nthen you call the compiler with the following command:\n"
                    },
                    {
                        "name": "idlj -i /includes My.idl",
                        "content": "If My.idl also included Another.idl that resided in /moreIncludes, for example, then you call\nthe compiler with the following command:\n"
                    },
                    {
                        "name": "idlj -i /includes -i /moreIncludes My.idl",
                        "content": "Because this form of include can become long, another way to indicate to the compiler where\nto search for included files is provided. This technique is similar to the idea of an\nenvironment variable. Create a file named idl.config in a directory that is listed in your\nCLASSPATH variable. Inside of idl.config, provide a line with the following form:\n"
                    },
                    {
                        "name": "includes=/includes;/moreIncludes",
                        "content": "The compiler will find this file and read in the includes list. Note that in this example the\nseparator character between the two directories is a semicolon (;). This separator character\nis platform dependent. On the Windows platform, use a semicolon, on the Unix platform, use a\ncolon, and so on.\n\nEMIT BINDINGS FOR INCLUDE FILES\nBy default, only those interfaces, structures, and so on, that are defined in the idl file on\nthe command line have Java bindings generated for them. The types defined in included files\nare not generated. For example, assume the following two idl files:\n"
                    },
                    {
                        "name": "My.idl file:",
                        "content": ""
                    },
                    {
                        "name": "#include <MyOther.idl>",
                        "content": ""
                    },
                    {
                        "name": "interface My",
                        "content": "{\n};"
                    },
                    {
                        "name": "MyOther.idl file:",
                        "content": ""
                    },
                    {
                        "name": "interface MyOther",
                        "content": "{\n};\n\nThere is a caveat to the default rule. Any #include statements that appear at the global\nscope are treated as described. These #include statements can be thought of as import\nstatements. The #include statements that appear within an enclosed scope are treated as true\n#include statements, which means that the code within the included file is treated as though\nit appeared in the original file and, therefore, Java bindings are emitted for it. Here is an\nexample:\n"
                    },
                    {
                        "name": "My.idl file:",
                        "content": ""
                    },
                    {
                        "name": "#include <MyOther.idl>",
                        "content": ""
                    },
                    {
                        "name": "interface My",
                        "content": "{\n#include <Embedded.idl>\n};"
                    },
                    {
                        "name": "MyOther.idl file:",
                        "content": ""
                    },
                    {
                        "name": "interface MyOther",
                        "content": "{\n};"
                    },
                    {
                        "name": "Embedded.idl",
                        "content": ""
                    },
                    {
                        "name": "enum E {one, two, three};",
                        "content": "Runidlj My.idlto generate the following list of Java files. Notice that MyOther.java is not\ngenerated because it is defined in an import-like #include. But E.java was generated because\nit was defined in a true #include. Notice that because the Embedded.idl file is included\nwithin the scope of the interface My, it appears within the scope of My (in MyPackage). If\nthe -emitAll flag had been used, then all types in all included files would have been\nemitted.\n"
                    },
                    {
                        "name": "./MyHolder.java",
                        "content": ""
                    },
                    {
                        "name": "./MyHelper.java",
                        "content": "./MyStub.java"
                    },
                    {
                        "name": "./MyPackage",
                        "content": ""
                    },
                    {
                        "name": "./MyPackage/EHolder.java",
                        "content": ""
                    },
                    {
                        "name": "./MyPackage/EHelper.java",
                        "content": ""
                    },
                    {
                        "name": "./MyPackage/E.java",
                        "content": ""
                    },
                    {
                        "name": "./My.java",
                        "content": "INSERT PACKAGE PREFIXES\nSuppose that you work for a company named ABC that has constructed the following IDL file:\n"
                    },
                    {
                        "name": "Widgets.idl file:",
                        "content": ""
                    },
                    {
                        "name": "module Widgets",
                        "content": "{\ninterface W1 {...};\ninterface W2 {...};\n};\n\nIf you run this file through the IDL-to-Java compiler, then the Java bindings for W1 and W2\nare placed within the Widgets package. There is an industry convention that states that a\ncompany's packages should reside within a package named com.<company name>. To follow this\nconvention, the package name should be com.abc.Widgets. To place this package prefix onto the\nWidgets module, execute the following:\n"
                    },
                    {
                        "name": "idlj -pkgPrefix Widgets com.abc Widgets.idl",
                        "content": "If you have an IDL file that includes Widgets.idl, then the -pkgPrefix flag must appear in\nthat command also. If it does not, then your IDL file will be looking for a Widgets package\nrather than a com.abc.Widgets package.\n\nIf you have a number of these packages that require prefixes, then it might be easier to\nplace them into the idl.config file described previously. Each package prefix line should be\nof the form: PkgPrefix.<type>=<prefix>. The line for the previous example would be\nPkgPrefix.Widgets=com.abc. This option does not affect the Repository ID.\n\nDEFINE SYMBOLS BEFORE COMPILATION\nYou might need to define a symbol for compilation that is not defined within the IDL file,\nperhaps to include debugging code in the bindings. The command idlj -d MYDEF My.idlis\nequivalent to putting the line #define MYDEF inside My.idl.\n\nPRESERVE PREEXISTING BINDINGS\nIf the Java binding files already exist, then the -keep flag keeps the compiler from\noverwriting them. The default is to generate all files without considering that they already\nexist. If you have customized those files (which you should not do unless you are very\ncomfortable with their contents), then the -keep option is very useful. The command idlj"
                    },
                    {
                        "name": "-keep",
                        "content": "VIEW COMPILATION PROGRESS\nThe IDL-to-Java compiler generates status messages as it progresses through its phases of\nexecution. Use the -v option to activate the verbose mode: idlj -v My.idl.\n\nBy default the compiler does not operate in verbose mode\n\nDISPLAY VERSION INFORMATION\nTo display the build version of the IDL-to-Java compiler, specify the -version option on the\ncommand-line: idlj -version.\n\nVersion information also appears within the bindings generated by the compiler. Any\nadditional options appearing on the command-line are ignored.\n"
                    }
                ]
            },
            "OPTIONS": {
                "content": "-d symbol\nThis is equivalent to the following line in an IDL file:\n\n#define symbol\n\n\n",
                "subsections": [
                    {
                        "name": "-demitAll",
                        "content": "Emit all types, including those found in #include files.\n"
                    },
                    {
                        "name": "-fside",
                        "content": "Defines what bindings to emit. The side parameter can be client, server, serverTIE,\nall, or allTIE. The -fserverTIE and -fallTIE options cause delegate model skeletons to\nbe emitted. Defaults to -fclient when the flag is not specified.\n\n-i include-path\nBy default, the current directory is scanned for included files. This option adds\nanother directory.\n\n-i keep\nIf a file to be generated already exists, then do not overwrite it. By default it is\noverwritten.\n"
                    },
                    {
                        "name": "-noWarn",
                        "content": "Suppress warning messages.\n"
                    },
                    {
                        "name": "-oldImplBase",
                        "content": "Generates skeletons compatible with pre-1.4 JDK ORBs. By default, the POA Inheritance\nModel server-side bindings are generated. This option provides backward-compatibility\nwith earlier releases of the Java programming language by generating server-side\nbindings that are ImplBase Inheritance Model classes.\n\n-pkgPrefix typeprefix\nWherever type is encountered at file scope, prefix the generated Java package name\nwith prefix for all files generated for that type. The type is the simple name of\neither a top-level module, or an IDL type defined outside of any module.\n\n-pkgTranslate typepackage\nWhenever the module name type is encountered in an identifier, replace it in the\nidentifier with package for all files in the generated Java package. Note that\npkgPrefix changes are made first. The type value is the simple name of either a top-\nlevel module, or an IDL type defined outside of any module and must match the full\npackage name exactly.\n\nIf more than one translation matches an identifier, then the longest match is chosen\nas shown in the following example:\n\nCommand:\n\npkgTranslate type pkg -pkgTranslate type2.baz pkg2.fizz\n\n\n\nResulting Translation:\n\ntype => pkg\ntype.ext => pkg.ext\ntype.baz => pkg2.fizz\ntype2.baz.pkg => pkg2.fizz.pkg\n\n\n\nThe following package names org, org.omg, or any subpackages of org.omg cannot be\ntranslated. Any attempt to translate these packages results in uncompilable code, and\nthe use of these packages as the first argument after -pkgTranslate is treated as an\nerror.\n\n-skeletonName xxx%yyy\nUse xxx%yyy as the pattern for naming the skeleton. The defaults are: %POA for the POA\nbase class (-fserver or -fall), and %ImplBase for the oldImplBase class\n(-oldImplBase) and (-fserver or -fall)).\n\n-td dir\nUse dir for the output directory instead of the current directory.\n\n-tieName xxx%yyy\nUse xxx%yyy according to the pattern. The defaults are: %POA for the POA base class\n(-fserverTie or -fallTie), and %Tie for the oldImplBase tie class (-oldImplBase) and\n(-fserverTie or -fallTie))\n"
                    },
                    {
                        "name": "-nowarn, -verbose",
                        "content": "Displays release information and terminates.\n"
                    },
                    {
                        "name": "-version",
                        "content": "Displays release information and terminates.\n"
                    }
                ]
            },
            "RESTRICTIONS": {
                "content": "Escaped identifiers in the global scope cannot have the same spelling as IDL primitive types,\nObject, or ValueBase. This is because the symbol table is preloaded with these identifiers.\nAllowing them to be redefined would overwrite their original definitions. Possible permanent\nrestriction.\n\nThe fixed IDL type is not supported.\n",
                "subsections": []
            },
            "KNOWN PROBLEMS": {
                "content": "No import is generated for global identifiers. If you call an unexported local impl object,\nthen you do get an exception, but it seems to be due to a NullPointerException in the\nServerDelegate DSI code.\n\n\n\nJDK 8                                     21 November 2013                                   idlj(1)",
                "subsections": []
            }
        }
    }
}