corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/generatedfiles.html
author jjg
Tue, 30 May 2017 15:49:45 -0700
changeset 45442 a14177f1fbc1
parent 45144 a81f7f7ccb59
child 47202 233d85df105b
permissions -rw-r--r--
8181290: Invalid HTML 5 in core-libs docs Reviewed-by: mchung, lancea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45144
a81f7f7ccb59 8180041: Fix HTML 5 issues in java.corba
jjg
parents: 32688
diff changeset
     1
<!doctype html>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
     2
<html>
02bb8761fcce Initial load
duke
parents:
diff changeset
     3
<head>
02bb8761fcce Initial load
duke
parents:
diff changeset
     4
   <meta http-equiv="Content-Type" content="text/html">
02bb8761fcce Initial load
duke
parents:
diff changeset
     5
   <title>IDL-to-Java Generated Files</title>
02bb8761fcce Initial load
duke
parents:
diff changeset
     6
</head>
02bb8761fcce Initial load
duke
parents:
diff changeset
     7
<body bgcolor="#FFFFFF">
02bb8761fcce Initial load
duke
parents:
diff changeset
     8
02bb8761fcce Initial load
duke
parents:
diff changeset
     9
<H1>IDL-to-Java Generated Files</H1>
02bb8761fcce Initial load
duke
parents:
diff changeset
    10
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    11
<P>The files that are generated by the IDL-to-Java compiler, in accordance with 
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    12
the <em><a href="http://www.omg.org/cgi-bin/doc?ptc/00-01-08">
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    13
IDL-to-Java Language Mapping Specification</a></em>,
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    14
which is implemented in Java<sup><font size="-2">TM</font></sup> SE 6 
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    15
according the <a href="compliance.html">compliance</a> document.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    16
02bb8761fcce Initial load
duke
parents:
diff changeset
    17
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    18
<P>In general IDL names and identifiers are mapped to Java names 
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    19
and identifiers with no change. Because of the nature of the Java language,
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    20
a single IDL construct may be mapped to several (differently named) Java constructs.
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    21
The additional names are constructed by appending a descriptive suffix.
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    22
For example, the IDL interface <code>foo</code> is mapped to the Java
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    23
interfaces <code>foo</code> and <code>fooOperations</code>, and additional
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    24
Java classes <code>fooHelper</code>, <code>fooHolder</code>, <code>fooPOA</code>,
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    25
and optionally <code>fooPOATie</code>.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    26
02bb8761fcce Initial load
duke
parents:
diff changeset
    27
02bb8761fcce Initial load
duke
parents:
diff changeset
    28
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    29
<P>The mapping in effect reserves the use of several names for its own purposes. These are:
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    30
<UL>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    31
<LI>The Java class <a href="#helper"><code>&lt;type&gt;Helper</code></a>,
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    32
where <code>&lt;type&gt;</code> is the name of an IDL defined type.
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    33
<LI>The Java class <a href="#holder"><code>&lt;type&gt;Holder</code></a>,
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    34
where <code>&lt;type&gt;</code>
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    35
is the name of an IDL defined type (with certain exceptions such as <code>typedef</code> aliases).
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    36
<LI>The Java classes <code>&lt;basicJavaType&gt;Holder</code>, where <code>&lt;basicJavaType&gt;</code>
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    37
is one of the Java primitive datatypes that is used by one of the IDL basic datatypes.
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    38
<LI>The Java classes <a href="#operations"><code>&lt;interface&gt;Operations</code></a>, <code>&lt;interface&gt;POA</code>,
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    39
and <code>&lt;interface&gt;POATie</code>, where <code>&lt;interface&gt;</code> is the name of an IDL interface type.
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    40
<LI>The nested scope Java package name <code>&lt;interface&gt;Package</code>, where <code>&lt;interface&gt;</code>
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    41
is the name of an IDL interface.
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    42
</UL>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    43
02bb8761fcce Initial load
duke
parents:
diff changeset
    44
45442
a14177f1fbc1 8181290: Invalid HTML 5 in core-libs docs
jjg
parents: 45144
diff changeset
    45
<H2><a id="helper">Helper Files</a></H2>
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    46
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    47
<P>Helper files supply several static methods needed to manipulate the type.
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    48
These include <code>Any</code> insert and extract operations for the type,
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    49
getting the repository id, getting the typecode, and reading
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    50
and writing the type from and to a stream.
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    51
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    52
<P>The helper class for a mapped IDL interface or abstract interface also
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    53
include narrow operation(s). The static narrow method allows an <code>org.omg.CORBA.Object</code>
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    54
to be narrowed to the object reference of a more specific type.
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    55
The IDL exception <code>CORBA::BAD_PARAM</code> is thrown if the narrow fails because
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    56
the object reference does not support the requested type. A different system exception
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    57
is raised to indicate other kinds of errors. Trying to narrow
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    58
a null will always succeed with a return value of null.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    59
45442
a14177f1fbc1 8181290: Invalid HTML 5 in core-libs docs
jjg
parents: 45144
diff changeset
    60
<H2><a id="holder">Holder Files</a></H2>
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    61
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    62
<P>Support for out and inout parameter passing modes requires the use of additional holder classes.
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    63
These classes are available for all of the basic IDL datatypes in the <code>org.omg.CORBA</code> package
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    64
and are generated for all named user defined IDL types except those defined by typedefs.
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    65
(Note that in this context user defined includes types that are defined in OMG specifications
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    66
such as those for the Interface Repository, and other OMG services.)
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    67
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    68
<P>Each holder class has a constructor from an instance, a default constructor, and has
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    69
a public instance member, <code>value</code> which is the typed value. The default constructor
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    70
sets the value field to the default value for the type as defined by the Java language:
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    71
false for boolean, 0 for numeric and char types, null for strings, null for object references.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    72
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    73
<P>To support portable stubs and skeletons, holder classes also implement
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    74
the <code>org.omg.CORBA.portable.Streamable</code> interface.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    75
02bb8761fcce Initial load
duke
parents:
diff changeset
    76
45442
a14177f1fbc1 8181290: Invalid HTML 5 in core-libs docs
jjg
parents: 45144
diff changeset
    77
<H2><a id="operations">Operations Files</a></H2>
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    78
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    79
<P>A non abstract IDL interface is mapped to two public Java interfaces:
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    80
a <em>signature</em> interface and an <em>operations</em> interface.
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    81
The signature interface, which extends <code>IDLEntity</code>, has the same
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    82
name as the IDL interface name and is used
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    83
as the signature type in method declarations
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    84
when interfaces of the specified type are used in other interfaces.
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    85
The operations interface has the same name as the IDL interface
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    86
with the suffix <code>Operations</code>
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    87
appended to the end and is used in the server-side mapping and as a mechanism
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    88
for providing optimized calls for collocated client and servers.
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    89
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    90
<P>The Java operations interface contains the mapped operation signatures.
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    91
The Java signature interface extends the operations interface,
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    92
the (mapped) base <code>org.omg.CORBA.Object</code>,
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    93
as well as <code>org.omg.portable.IDLEntity</code>.
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    94
Methods can be invoked on the signature interface. Interface inheritance
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    95
expressed in IDL is reflected in both the Java signature
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    96
interface and operations interface hierarchies.
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    97
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    98
45442
a14177f1fbc1 8181290: Invalid HTML 5 in core-libs docs
jjg
parents: 45144
diff changeset
    99
<H2><a id="stub">Stubs</a></H2>
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   100
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   101
<P>For the mapping of a non-object-oriented language, there will be
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   102
a programming interface to the stubs for each interface type. Generally, the stubs
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   103
will present access to the OMG IDL-defined operations on an object in a way that is easy
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   104
for programmers to predict once they are familiar with OMG IDL and the language mapping
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   105
for the particular programming language. The stubs make calls on the rest of the ORB
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   106
using interfaces that are private to, and presumably optimized for, the particular ORB Core.
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   107
If more than one ORB is available, there may be different stubs
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   108
corresponding to the different ORBs. In this case, it is necessary for
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   109
the ORB and language mapping to cooperate to associate
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   110
the correct stubs with the particular object reference.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   111
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   112
<P>Object-oriented programming languages, such as Java,
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   113
C++, and Smalltalk, do not require stub interfaces.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   114
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   115
<BR><BR>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   116
02bb8761fcce Initial load
duke
parents:
diff changeset
   117
</body>
02bb8761fcce Initial load
duke
parents:
diff changeset
   118
</html>