jdk/src/bsd/doc/man/idlj.1
author ctornqvi
Wed, 18 Feb 2015 19:28:08 -0800
changeset 29105 3927f8f0bf4b
parent 21743 3d979da7bdf0
child 31876 91b22707521a
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
     1
'\" t
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
     2
.\"  Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
     3
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
     4
.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
     5
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
     6
.\" This code is free software; you can redistribute it and/or modify it
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
     7
.\" under the terms of the GNU General Public License version 2 only, as
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
     8
.\" published by the Free Software Foundation.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
     9
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    10
.\" This code is distributed in the hope that it will be useful, but WITHOUT
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    11
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    12
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    13
.\" version 2 for more details (a copy is included in the LICENSE file that
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    14
.\" accompanied this code).
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    15
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    16
.\" You should have received a copy of the GNU General Public License version
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    17
.\" 2 along with this work; if not, write to the Free Software Foundation,
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    18
.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    19
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    20
.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    21
.\" or visit www.oracle.com if you need additional information or have any
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    22
.\" questions.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    23
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    24
.\"     Arch: generic
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    25
.\"     Software: JDK 8
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    26
.\"     Date: 21 November 2013
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    27
.\"     SectDesc: Java IDL and RMI-IIOP Tools
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    28
.\"     Title: idlj.1
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    29
.\"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    30
.if n .pl 99999
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    31
.TH idlj 1 "21 November 2013" "JDK 8" "Java IDL and RMI-IIOP Tools"
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    32
.\" -----------------------------------------------------------------
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    33
.\" * Define some portability stuff
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    34
.\" -----------------------------------------------------------------
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    35
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    36
.\" http://bugs.debian.org/507673
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    37
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    38
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    39
.ie \n(.g .ds Aq \(aq
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    40
.el       .ds Aq '
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    41
.\" -----------------------------------------------------------------
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    42
.\" * set default formatting
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    43
.\" -----------------------------------------------------------------
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    44
.\" disable hyphenation
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    45
.nh
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    46
.\" disable justification (adjust text to left margin only)
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    47
.ad l
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    48
.\" -----------------------------------------------------------------
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    49
.\" * MAIN CONTENT STARTS HERE *
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    50
.\" -----------------------------------------------------------------
12047
320a714614e9 7113349: Initial changeset for Macosx port to jdk
michaelm
parents:
diff changeset
    51
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    52
.SH NAME    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    53
idlj \- Generates Java bindings for a specified Interface Definition Language (IDL) file\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    54
.SH SYNOPSIS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    55
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    56
.nf     
12047
320a714614e9 7113349: Initial changeset for Macosx port to jdk
michaelm
parents:
diff changeset
    57
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    58
\fBidlj\fR [ \fIoptions\fR ] \fIidlfile\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    59
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    60
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    61
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    62
\fIoptions\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    63
The command-line options\&. See Options\&. Options can appear in any order, but must precede the \f3idlfile\fR\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    64
.TP     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    65
\fIidlfile\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    66
The name of a file that contains Interface Definition Language (IDL) definitions\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    67
.SH DESCRIPTION    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    68
The IDL-to-Java Compiler generates the Java bindings for a specified IDL file\&. For binding details, see Java IDL: IDL to Java Language Mapping at http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/mapping/jidlMapping\&.html
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    69
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    70
Some earlier releases of the IDL-to-Java compiler were named \f3idltojava\fR\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    71
.SS EMIT\ CLIENT\ AND\ SERVER\ BINDINGS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    72
The following \f3idlj\fR command generates an IDL file named \f3My\&.idl\fR with client-side bindings\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    73
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    74
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    75
\f3idlj My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    76
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    77
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    78
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    79
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    80
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    81
The previous syntax is equivalent to the following:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    82
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    83
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    84
\f3idlj \-fclient My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    85
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    86
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    87
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    88
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    89
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    90
The next example generates the server-side bindings, and includes the client-side bindings plus the skeleton, all of which are POA (Inheritance Model)\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    91
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    92
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    93
\f3idlg \-fserver My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    94
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    95
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    96
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    97
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    98
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
    99
If you want to generate both client and server-side bindings, then use one of the following (equivalent) commands:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   100
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   101
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   102
\f3idlj \-fclient \-fserver My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   103
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   104
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   105
\f3idlj \-fall My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   106
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   107
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   108
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   109
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   110
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   111
There are two possible server-side models: the Portal Servant Inheritance Model and the Tie Model\&. See Tie Delegation Model\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   112
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   113
\f3Portable Servant Inheritance Model\fR\&. The default server-side model is the Portable Servant Inheritance Model\&. Given an interface \f3My\fR defined in \f3My\&.idl\fR, the file \f3MyPOA\&.java\fR is generated\&. You must provide the implementation for the \f3My\fR interface, and the \f3My\fR interface must inherit from the \f3MyPOA\fR class\&. \f3MyPOA\&.java\fR is a stream-based skeleton that extends the \f3org\&.omg\&.PortableServer\&.Servant\fR class at http://docs\&.oracle\&.com/javase/8/docs/api/org/omg/PortableServer/Servant\&.html The \f3My\fR interface implements the \f3callHandler\fR interface and the operations interface associated with the IDL interface the skeleton implements\&.The \f3PortableServer\fR module for the Portable Object Adapter (POA) defines the native \f3Servant\fR type\&. See Portable Object Adapter (POA) at http://docs\&.oracle\&.com/javase/8/docs/technotes/guides/idl/POA\&.html In the Java programming language, the \f3Servant\fR type is mapped to the Java \f3org\&.omg\&.PortableServer\&.Servant\fR class\&. It serves as the base class for all POA servant implementations and provides a number of methods that can be called by the application programmer, and methods that are called by the POA and that can be overridden by the user to control aspects of servant behavior\&.Another option for the Inheritance Model is to use the \f3-oldImplBase\fR flag to generate server-side bindings that are compatible with releases of the Java programming language before Java SE 1\&.4\&. The -\f3oldImplBase\fR flag is nonstandard, and these APIs are deprecated\&. You would use this flag only for compatibility with existing servers written in Java SE 1\&.3\&. In that case, you would need to modify an existing make file to add the \f3-oldImplBase\fR flag to the \f3idlj\fR compiler\&. Otherwise POA-based server-side mappings are generated\&. To generate server-side bindings that are backward compatible, do the following:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   114
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   115
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   116
\f3idlj \-fclient \-fserver \-oldImplBase My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   117
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   118
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   119
\f3idlj \-fall \-oldImplBase My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   120
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   121
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   122
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   123
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   124
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   125
Given an interface \f3My\fR defined in \f3My\&.idl\fR, the file \f3_MyImplBase\&.java\fR is generated\&. You must provide the implementation for the \f3My\fR interface, and the \f3My\fR interface must inherit from the \f3_MyImplBase\fR class\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   126
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   127
\f3Tie Delegation Model\fR\&. The other server-side model is called the Tie Model\&. This is a delegation model\&. Because it is not possible to generate ties and skeletons at the same time, they must be generated separately\&. The following commands generate the bindings for the Tie Model:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   128
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   129
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   130
\f3idlj \-fall My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   131
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   132
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   133
\f3idlj \-fallTIE My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   134
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   135
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   136
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   137
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   138
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   139
For the \f3My\fR interface, the second command generates \f3MyPOATie\&.java\fR\&. The constructor to the \f3MyPOATie\fR class takes a delegate\&. In this example, using the default POA model, the constructor also needs a POA\&. You must provide the implementation for the delegate, but it does not have to inherit from any other class, only the interface \f3MyOperations\fR\&. To use it with the ORB, you must wrap your implementation within the \f3MyPOATie\fR class, for example:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   140
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   141
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   142
\f3ORB orb = ORB\&.init(args, System\&.getProperties());\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   143
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   144
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   145
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   146
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   147
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   148
\f3// Get reference to rootpoa & activate the POAManager\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   149
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   150
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   151
\f3POA rootpoa = (POA)orb\&.resolve_initial_references("RootPOA");\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   152
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   153
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   154
\f3rootpoa\&.the_POAManager()\&.activate();\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   155
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   156
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   157
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   158
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   159
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   160
\f3// create servant and register it with the ORB\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   161
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   162
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   163
\f3MyServant myDelegate = new MyServant();\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   164
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   165
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   166
\f3myDelegate\&.setORB(orb); \fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   167
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   168
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   169
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   170
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   171
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   172
\f3// create a tie, with servant being the delegate\&.\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   173
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   174
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   175
\f3MyPOATie tie = new MyPOATie(myDelegate, rootpoa);\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   176
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   177
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   178
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   179
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   180
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   181
\f3// obtain the objectRef for the tie\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   182
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   183
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   184
\f3My ref = tie\&._this(orb);\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   185
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   186
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   187
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   188
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   189
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   190
You might want to use the Tie model instead of the typical Inheritance model when your implementation must inherit from some other implementation\&. Java allows any number of interface inheritance, but there is only one slot for class inheritance\&. If you use the inheritance model, then that slot is used up\&. With the Tie Model, that slot is freed up for your own use\&. The drawback is that it introduces a level of indirection: one extra method call occurs when a method is called\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   191
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   192
For server-side generation, Tie model bindings that are compatible with versions of the IDL to Java language mapping in versions earlier than Java SE 1\&.4\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   193
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   194
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   195
\f3idlj \-oldImplBase \-fall My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   196
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   197
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   198
\f3idlj \-oldImplBase \-fallTIE My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   199
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   200
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   201
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   202
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   203
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   204
For the \f3My\fR interface, the this generates \f3My_Tie\&.java\fR\&. The constructor to the \f3My_Tie\fR class takes an \f3impl\fR object\&. You must provide the implementation for \f3impl\fR, but it does not have to inherit from any other class, only the interface \f3HelloOperations\fR\&. But to use it with the ORB, you must wrap your implementation within \f3My_Tie\fR, for example:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   205
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   206
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   207
\f3ORB orb = ORB\&.init(args, System\&.getProperties());\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   208
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   209
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   210
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   211
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   212
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   213
\f3// create servant and register it with the ORB\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   214
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   215
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   216
\f3MyServant myDelegate = new MyServant();\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   217
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   218
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   219
\f3myDelegate\&.setORB(orb); \fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   220
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   221
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   222
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   223
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   224
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   225
\f3// create a tie, with servant being the delegate\&.\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   226
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   227
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   228
\f3MyPOATie tie = new MyPOATie(myDelegate);\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   229
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   230
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   231
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   232
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   233
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   234
\f3// obtain the objectRef for the tie\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   235
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   236
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   237
\f3My ref = tie\&._this(orb);\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   238
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   239
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   240
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   241
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   242
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   243
.SS SPECIFY\ ALTERNATE\ LOCATIONS\ FOR\ EMITTED\ FILES    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   244
If you want to direct the emitted files to a directory other than the current directory, then call the compiler this way: \f3i\fR\f3dlj -td /altdir My\&.idl\fR\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   245
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   246
For the \f3My\fR interface, the bindings are emitted to \f3/altdir/My\&.java\fR, etc\&., instead of \f3\&./My\&.java\fR\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   247
.SS SPECIFY\ ALTERNATE\ LOCATIONS\ FOR\ INCLUDE\ FILES    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   248
If the \f3My\&.idl\fR file includes another \f3idl\fR file, \f3MyOther\&.idl\fR, then the compiler assumes that the \f3MyOther\&.idl\fR file resides in the local directory\&. If it resides in \f3/includes\fR, for example, then you call the compiler with the following command:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   249
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   250
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   251
\f3idlj \-i /includes My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   252
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   253
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   254
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   255
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   256
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   257
If \f3My\&.idl\fR also included \f3Another\&.idl\fR that resided in \f3/moreIncludes\fR, for example, then you call the compiler with the following command:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   258
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   259
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   260
\f3idlj \-i /includes \-i /moreIncludes My\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   261
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   262
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   263
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   264
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   265
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   266
Because this form of \f3include\fR can become long, another way to indicate to the compiler where to search for included files is provided\&. This technique is similar to the idea of an environment variable\&. Create a file named idl\&.config in a directory that is listed in your \f3CLASSPATH\fR variable\&. Inside of \f3idl\&.config\fR, provide a line with the following form:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   267
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   268
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   269
\f3includes=/includes;/moreIncludes\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   270
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   271
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   272
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   273
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   274
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   275
The compiler will find this file and read in the includes list\&. Note that in this example the separator character between the two directories is a semicolon (;)\&. This separator character is platform dependent\&. On the Windows platform, use a semicolon, on the Unix platform, use a colon, and so on\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   276
.SS EMIT\ BINDINGS\ FOR\ INCLUDE\ FILES    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   277
By default, only those interfaces, structures, and so on, that are defined in the \f3idl\fR file on the command line have Java bindings generated for them\&. The types defined in included files are not generated\&. For example, assume the following two \f3idl\fR files:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   278
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   279
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   280
\f3My\&.idl file:\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   281
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   282
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   283
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   284
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   285
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   286
\f3#include <MyOther\&.idl>\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   287
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   288
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   289
\f3interface My\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   290
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   291
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   292
\f3{\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   293
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   294
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   295
\f3};\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   296
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   297
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   298
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   299
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   300
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   301
\f3MyOther\&.idl file:\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   302
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   303
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   304
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   305
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   306
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   307
\f3interface MyOther\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   308
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   309
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   310
\f3{\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   311
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   312
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   313
\f3};\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   314
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   315
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   316
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   317
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   318
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   319
There is a caveat to the default rule\&. Any \f3#include\fR statements that appear at the global scope are treated as described\&. These \f3#include\fR statements can be thought of as import statements\&. The \f3#include\fR statements that appear within an enclosed scope are treated as true \f3#include\fR statements, which means that the code within the included file is treated as though it appeared in the original file and, therefore, Java bindings are emitted for it\&. Here is an example:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   320
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   321
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   322
\f3My\&.idl file:\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   323
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   324
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   325
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   326
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   327
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   328
\f3#include <MyOther\&.idl>\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   329
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   330
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   331
\f3interface My\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   332
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   333
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   334
\f3{\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   335
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   336
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   337
\f3  #include <Embedded\&.idl>\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   338
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   339
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   340
\f3};\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   341
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   342
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   343
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   344
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   345
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   346
\f3MyOther\&.idl file:\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   347
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   348
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   349
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   350
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   351
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   352
\f3interface MyOther\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   353
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   354
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   355
\f3{\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   356
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   357
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   358
\f3};\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   359
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   360
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   361
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   362
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   363
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   364
\f3Embedded\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   365
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   366
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   367
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   368
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   369
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   370
\f3enum E {one, two, three};\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   371
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   372
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   373
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   374
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   375
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   376
Run\f3idlj My\&.idl\fRto generate the following list of Java files\&. Notice that \f3MyOther\&.java\fR is not generated because it is defined in an import-like \f3#include\fR\&. But \f3E\&.java\fR was generated because it was defined in a true \f3#include\fR\&. Notice that because the \f3Embedded\&.idl\fR file is included within the scope of the interface \f3My\fR, it appears within the scope of \f3My\fR (in \f3MyPackage\fR)\&. If the \f3-emitAll\fR flag had been used, then all types in all included files would have been emitted\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   377
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   378
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   379
\f3\&./MyHolder\&.java\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   380
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   381
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   382
\f3\&./MyHelper\&.java\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   383
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   384
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   385
\f3\&./_MyStub\&.java\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   386
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   387
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   388
\f3\&./MyPackage\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   389
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   390
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   391
\f3\&./MyPackage/EHolder\&.java\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   392
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   393
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   394
\f3\&./MyPackage/EHelper\&.java\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   395
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   396
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   397
\f3\&./MyPackage/E\&.java\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   398
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   399
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   400
\f3\&./My\&.java\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   401
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   402
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   403
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   404
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   405
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   406
.SS INSERT\ PACKAGE\ PREFIXES    
12047
320a714614e9 7113349: Initial changeset for Macosx port to jdk
michaelm
parents:
diff changeset
   407
Suppose that you work for a company named ABC that has constructed the following IDL file:
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   408
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   409
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   410
\f3Widgets\&.idl file:\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   411
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   412
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   413
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   414
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   415
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   416
\f3module Widgets\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   417
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   418
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   419
\f3{\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   420
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   421
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   422
\f3  interface W1 {\&.\&.\&.};\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   423
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   424
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   425
\f3  interface W2 {\&.\&.\&.};\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   426
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   427
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   428
\f3};\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   429
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   430
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   431
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   432
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   433
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   434
If you run this file through the IDL-to-Java compiler, then the Java bindings for W1 and W2 are placed within the \f3Widgets\fR package\&. There is an industry convention that states that a company\&'s packages should reside within a package named \f3com\&.<company name>\fR\&. To follow this convention, the package name should be \f3com\&.abc\&.Widgets\fR\&. To place this package prefix onto the Widgets module, execute the following:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   435
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   436
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   437
\f3idlj \-pkgPrefix Widgets com\&.abc Widgets\&.idl\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   438
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   439
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   440
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   441
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   442
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   443
If you have an IDL file that includes Widgets\&.idl, then the \f3-pkgPrefix\fR flag must appear in that command also\&. If it does not, then your IDL file will be looking for a \f3Widgets\fR package rather than a \f3com\&.abc\&.Widgets\fR package\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   444
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   445
If you have a number of these packages that require prefixes, then it might be easier to place them into the idl\&.config file described previously\&. Each package prefix line should be of the form: \f3PkgPrefix\&.<type>=<prefix>\fR\&. The line for the previous example would be \f3PkgPrefix\&.Widgets=com\&.abc\fR\&. This option does not affect the Repository ID\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   446
.SS DEFINE\ SYMBOLS\ BEFORE\ COMPILATION    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   447
You might need to define a symbol for compilation that is not defined within the IDL file, perhaps to include debugging code in the bindings\&. The command \f3idlj -d MYDEF My\&.idl\fRis equivalent to putting the line \f3#define MYDEF\fR inside My\&.idl\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   448
.SS PRESERVE\ PREEXISTING\ BINDINGS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   449
If the Java binding files already exist, then the \f3-keep\fR flag keeps the compiler from overwriting them\&. The default is to generate all files without considering that they already exist\&. If you have customized those files (which you should not do unless you are very comfortable with their contents), then the \f3-keep\fR option is very useful\&. The command \f3idlj -keep My\&.idl\fR emits all client-side bindings that do not already exist\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   450
.SS VIEW\ COMPILATION\ PROGRESS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   451
The IDL-to-Java compiler generates status messages as it progresses through its phases of execution\&. Use the \f3-v\fR option to activate the verbose mode: \f3idlj -v My\&.idl\fR\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   452
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   453
By default the compiler does not operate in verbose mode
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   454
.SS DISPLAY\ VERSION\ INFORMATION    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   455
To display the build version of the IDL-to-Java compiler, specify the \f3-version\fR option on the command-line: \f3idlj -version\fR\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   456
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   457
Version information also appears within the bindings generated by the compiler\&. Any additional options appearing on the command-line are ignored\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   458
.SH OPTIONS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   459
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   460
-d \fIsymbol\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   461
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   462
This is equivalent to the following line in an IDL file:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   463
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   464
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   465
\f3#define \fIsymbol\fR\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   466
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   467
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   468
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   469
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   470
.sp     
12047
320a714614e9 7113349: Initial changeset for Macosx port to jdk
michaelm
parents:
diff changeset
   471
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   472
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   473
-demitAll
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   474
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   475
Emit all types, including those found in \f3#include\fR files\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   476
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   477
-fside
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   478
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   479
Defines what bindings to emit\&. The \f3side\fR parameter can be \f3client\fR, \f3server\fR, \f3serverTIE\fR, \f3all\fR, or \f3allTIE\fR\&. The \f3-fserverTIE\fR and \f3-fallTIE\fR options cause delegate model skeletons to be emitted\&. Defaults to \f3-fclient\fR when the flag is not specified\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   480
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   481
-i \fIinclude-path\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   482
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   483
By default, the current directory is scanned for included files\&. This option adds another directory\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   484
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   485
-i \fIkeep\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   486
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   487
If a file to be generated already exists, then do not overwrite it\&. By default it is overwritten\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   488
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   489
-noWarn
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   490
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   491
Suppress warning messages\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   492
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   493
-oldImplBase
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   494
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   495
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 \f3ImplBase\fR Inheritance Model classes\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   496
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   497
-pkgPrefix \fItype\fR\fIprefix\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   498
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   499
Wherever \f3type\fR is encountered at file scope, prefix the generated Java package name with \f3prefix\fR 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\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   500
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   501
-pkgTranslate \fItype\fR\fIpackage\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   502
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   503
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 \f3pkgPrefix\fR 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\&.
12047
320a714614e9 7113349: Initial changeset for Macosx port to jdk
michaelm
parents:
diff changeset
   504
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   505
If more than one translation matches an identifier, then the longest match is chosen as shown in the following example:
12047
320a714614e9 7113349: Initial changeset for Macosx port to jdk
michaelm
parents:
diff changeset
   506
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   507
\fICommand\fR:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   508
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   509
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   510
\f3pkgTranslate type pkg \-pkgTranslate type2\&.baz pkg2\&.fizz\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   511
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   512
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   513
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   514
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   515
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   516
12047
320a714614e9 7113349: Initial changeset for Macosx port to jdk
michaelm
parents:
diff changeset
   517
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   518
\fIResulting Translation\fR:
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   519
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   520
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   521
\f3type => pkg\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   522
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   523
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   524
\f3type\&.ext => pkg\&.ext\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   525
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   526
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   527
\f3type\&.baz => pkg2\&.fizz\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   528
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   529
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   530
\f3type2\&.baz\&.pkg => pkg2\&.fizz\&.pkg\fP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   531
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   532
.nf     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   533
\f3\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   534
.fi     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   535
.sp     
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   536
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   537
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   538
The following package names \f3org\fR, \f3org\fR\&.o\f3mg\fR, or any subpackages of \f3org\&.omg\fR cannot be translated\&. Any attempt to translate these packages results in uncompilable code, and the use of these packages as the first argument after \f3-pkgTranslate\fR is treated as an error\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   539
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   540
-skeletonName \fIxxx%yyy\fR
12047
320a714614e9 7113349: Initial changeset for Macosx port to jdk
michaelm
parents:
diff changeset
   541
.br
21743
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   542
Use \f3xxx%yyy\fR as the pattern for naming the skeleton\&. The defaults are: \f3%POA\fR for the \f3POA\fR base class (\f3-fserver\fR or \f3-fall\fR), and \f3_%ImplBase\fR for the \f3oldImplBase\fR class (-\f3oldImplBase\fR) and (\f3-fserver\fR or \f3-fall\fR))\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   543
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   544
-td \fIdir\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   545
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   546
Use \fIdir\fR for the output directory instead of the current directory\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   547
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   548
-tieName \fIxxx%yyy\fR
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   549
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   550
Use \f3xxx%yyy\fR according to the pattern\&. The defaults are: \f3%POA\fR for the \f3POA\fR base class (\f3-fserverTie or -fallTie\fR), and \f3_%Tie\fR for the \f3oldImplBase\fR tie class (-\f3oldImplBase\fR) and (\f3-fserverTie\fR or \f3-fallTie\fR))
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   551
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   552
-nowarn, -verbose
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   553
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   554
Displays release information and terminates\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   555
.TP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   556
-version
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   557
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   558
Displays release information and terminates\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   559
.SH RESTRICTIONS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   560
Escaped identifiers in the global scope cannot have the same spelling as IDL primitive types, \f3Object\fR, or \f3ValueBase\fR\&. This is because the symbol table is preloaded with these identifiers\&. Allowing them to be redefined would overwrite their original definitions\&. Possible permanent restriction\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   561
.PP
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   562
The \f3fixed\fR IDL type is not supported\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   563
.SH KNOWN\ PROBLEMS    
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   564
No import is generated for global identifiers\&. If you call an unexported local \f3impl\fR object, then you do get an exception, but it seems to be due to a \f3NullPointerException\fR in the \f3ServerDelegate\fR DSI code\&.
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   565
.RE
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   566
.br
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   567
'pl 8.5i
3d979da7bdf0 8029043: Update nroff files for JDK 8
rgallard
parents: 14342
diff changeset
   568
'bp