corba/src/java.corba/share/classes/org/omg/CORBA/package.html
author avstepan
Sun, 13 Sep 2015 23:31:47 +0300
changeset 32688 936c391804a5
parent 29827 aac4782e69ac
child 45144 a81f7f7ccb59
permissions -rw-r--r--
8133650: replace some <tt> tags (obsolete in html5) in CORBA docs Reviewed-by: lancea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
02bb8761fcce Initial load
duke
parents:
diff changeset
     1
<HTML>
02bb8761fcce Initial load
duke
parents:
diff changeset
     2
<HEAD>
02bb8761fcce Initial load
duke
parents:
diff changeset
     3
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
02bb8761fcce Initial load
duke
parents:
diff changeset
     4
   <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en]C-gatewaynet  (WinNT; U) 
02bb8761fcce Initial load
duke
parents:
diff changeset
     5
[Netscape]">
02bb8761fcce Initial load
duke
parents:
diff changeset
     6
   <TITLE>package</TITLE>
02bb8761fcce Initial load
duke
parents:
diff changeset
     7
<!--
02bb8761fcce Initial load
duke
parents:
diff changeset
     8
/*
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
     9
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    10
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
02bb8761fcce Initial load
duke
parents:
diff changeset
    11
*
02bb8761fcce Initial load
duke
parents:
diff changeset
    12
* This code is free software; you can redistribute it and/or modify it
02bb8761fcce Initial load
duke
parents:
diff changeset
    13
* under the terms of the GNU General Public License version 2 only, as
5555
b2b5ed3f0d0d 6943119: Rebrand source copyright notices
ohair
parents: 4
diff changeset
    14
* published by the Free Software Foundation.  Oracle designates this
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    15
* particular file as subject to the "Classpath" exception as provided
5555
b2b5ed3f0d0d 6943119: Rebrand source copyright notices
ohair
parents: 4
diff changeset
    16
* by Oracle in the LICENSE file that accompanied this code.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    17
*
02bb8761fcce Initial load
duke
parents:
diff changeset
    18
* This code is distributed in the hope that it will be useful, but WITHOUT
02bb8761fcce Initial load
duke
parents:
diff changeset
    19
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
02bb8761fcce Initial load
duke
parents:
diff changeset
    20
* FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
02bb8761fcce Initial load
duke
parents:
diff changeset
    21
* version 2 for more details (a copy is included in the LICENSE file that
02bb8761fcce Initial load
duke
parents:
diff changeset
    22
* accompanied this code).
02bb8761fcce Initial load
duke
parents:
diff changeset
    23
*
02bb8761fcce Initial load
duke
parents:
diff changeset
    24
* You should have received a copy of the GNU General Public License version
02bb8761fcce Initial load
duke
parents:
diff changeset
    25
* 2 along with this work; if not, write to the Free Software Foundation,
02bb8761fcce Initial load
duke
parents:
diff changeset
    26
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
02bb8761fcce Initial load
duke
parents:
diff changeset
    27
*
5555
b2b5ed3f0d0d 6943119: Rebrand source copyright notices
ohair
parents: 4
diff changeset
    28
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
b2b5ed3f0d0d 6943119: Rebrand source copyright notices
ohair
parents: 4
diff changeset
    29
* or visit www.oracle.com if you need additional information or have any
b2b5ed3f0d0d 6943119: Rebrand source copyright notices
ohair
parents: 4
diff changeset
    30
* questions.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    31
*/  
02bb8761fcce Initial load
duke
parents:
diff changeset
    32
-->
02bb8761fcce Initial load
duke
parents:
diff changeset
    33
</HEAD>
02bb8761fcce Initial load
duke
parents:
diff changeset
    34
<BODY BGCOLOR="#FFFFFF">
02bb8761fcce Initial load
duke
parents:
diff changeset
    35
Provides the mapping of the OMG CORBA APIs to the Java<SUP><FONT 
02bb8761fcce Initial load
duke
parents:
diff changeset
    36
SIZE=-2>TM</FONT></SUP>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    37
programming language, including the class <code>ORB</code>, which is implemented
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    38
so that a programmer can use it as a fully-functional Object Request Broker
02bb8761fcce Initial load
duke
parents:
diff changeset
    39
(ORB).
02bb8761fcce Initial load
duke
parents:
diff changeset
    40
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    41
<P>For a precise list of supported sections of official CORBA specifications with which
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    42
the Java[TM] Platform, Standard Edition 6 complies, see <A
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    43
HREF="doc-files/compliance.html"><em>Official Specifications for CORBA support in
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    44
Java[TM] SE 6</em></A>.
02bb8761fcce Initial load
duke
parents:
diff changeset
    45
02bb8761fcce Initial load
duke
parents:
diff changeset
    46
02bb8761fcce Initial load
duke
parents:
diff changeset
    47
<H1>General Information</H1>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    48
The information in this section is information relevant to someone who
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    49
compiles Interface Definition Language (IDL) files and uses the
02bb8761fcce Initial load
duke
parents:
diff changeset
    50
ORB to write clients and servers.
02bb8761fcce Initial load
duke
parents:
diff changeset
    51
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    52
<P>The classes and interfaces described in this section can be put into
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    53
four groups: <code>ORB classes</code>, Exceptions, <code>Helper</code> classes,
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    54
and <code>Holder</code> classes.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    55
02bb8761fcce Initial load
duke
parents:
diff changeset
    56
<H2>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    57
The <code>ORB</code> Class</H2>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    58
02bb8761fcce Initial load
duke
parents:
diff changeset
    59
<P>An ORB handles (or brokers) method invocations between a client and
02bb8761fcce Initial load
duke
parents:
diff changeset
    60
the method's implementation on a server. Because the client and server
02bb8761fcce Initial load
duke
parents:
diff changeset
    61
may be anywhere on a network, and because the invocation and implementation
02bb8761fcce Initial load
duke
parents:
diff changeset
    62
may be written in different programming languages, an ORB does a great
02bb8761fcce Initial load
duke
parents:
diff changeset
    63
deal of work behind the scenes to accomplish this communication.
02bb8761fcce Initial load
duke
parents:
diff changeset
    64
02bb8761fcce Initial load
duke
parents:
diff changeset
    65
<P>Most of what an ORB does is completely transparent to the user, and a major
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    66
portion of the <code>CORBA</code> package consists of classes used by the ORB
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    67
behind the scenes. The result is that most programmers will use only a
02bb8761fcce Initial load
duke
parents:
diff changeset
    68
small part of this package directly. In fact, most programmers will use
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    69
only a few methods from the <code>ORB</code> class, some exceptions, and
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    70
occasionally,
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    71
a holder class.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    72
<H3>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    73
<code>ORB</code> Methods</H3>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    74
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    75
<P>Before an application can enter the CORBA environment, it must first:
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    76
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
    77
<LI>Be initialized into the ORB and possibly the object adapter (POA) environments.
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    78
<LI>Get references to ORB object (for use in future ORB operations)
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    79
and perhaps other objects (including the root POA or some Object Adapter objects).
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    80
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
    81
<P>The following operations are provided to initialize applications and obtain
02bb8761fcce Initial load
duke
parents:
diff changeset
    82
 the appropriate object references:
02bb8761fcce Initial load
duke
parents:
diff changeset
    83
 <UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
    84
 <LI>Operations providing access to the ORB, which are discussed in this
02bb8761fcce Initial load
duke
parents:
diff changeset
    85
 section.
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    86
 <LI>Operations providing access to Object Adapters, Interface Repository,
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    87
 Naming Service, and other Object Services. These operations are described
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    88
 in <a href="#adv"><em>Other Classes</em></a>.
02bb8761fcce Initial load
duke
parents:
diff changeset
    89
 </UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
    90
 <P>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    91
When an application requires a CORBA environment it needs a mechanism to
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    92
get an ORB object reference and possibly an OA object reference
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    93
(such as the root POA). This serves two purposes. First, it initializes
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    94
an application into the ORB and OA environments. Second, it returns the
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    95
ORB object reference and the OA object reference to the application
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    96
for use in future ORB and OA operations.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    97
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    98
<P>In order to obtain an ORB object reference, applications call
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
    99
the <code>ORB.init</code> operation. The parameters to the call can comprise an
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   100
identifier for the ORB for which the object reference is required,
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   101
 and an arg_list, which is used to allow environment-specific data to be
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   102
 passed into the call.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   103
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   104
<P>These are the <code>ORB</code> methods
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   105
 that provide access to the ORB:
02bb8761fcce Initial load
duke
parents:
diff changeset
   106
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   107
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   108
<code><b>init</b>()</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   109
02bb8761fcce Initial load
duke
parents:
diff changeset
   110
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   111
<code><b>init</b>(String [] args, Properties props)</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   112
02bb8761fcce Initial load
duke
parents:
diff changeset
   113
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   114
<code><b>init</b>(Applet app, Properties props)</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   115
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   116
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   117
<P>Using the <code>init()</code> method without parameters initiates
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   118
a singleton ORB,  which can only
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   119
give typecode creation <code>any</code>s needed in code generated
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   120
in Helper classes by <code>idlj</code>.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   121
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   122
<P>Applications require a portable means by which to obtain their
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   123
initial object references. References are required for the root
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   124
POA, POA Current, Interface Repository, and various Object Services
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   125
instances.  The functionality required by the application is similar
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   126
 to that provided by the Naming Service. However, the OMG does not
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   127
 want to mandate that the Naming Service be made available to all
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   128
 applications in order that they may be portably initialized.
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   129
 Consequently, the operations shown in this section provide a
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   130
 simplified, local version of the Naming Service that applications
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   131
 can use to obtain a small, defined set of object references which
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   132
 are essential to its operation. Because only a small well-defined
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   133
 set of objects are expected with this mechanism, the naming context
02bb8761fcce Initial load
duke
parents:
diff changeset
   134
 can be flattened to be a single-level name space. This simplification
02bb8761fcce Initial load
duke
parents:
diff changeset
   135
 results in only two operations being defined to achieve the functionality
02bb8761fcce Initial load
duke
parents:
diff changeset
   136
  required.
02bb8761fcce Initial load
duke
parents:
diff changeset
   137
  
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   138
<P>Initial references are obtained via two operations provided in
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   139
the ORB object interface, providing facilities to list and
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   140
resolve initial object references.  These are:
02bb8761fcce Initial load
duke
parents:
diff changeset
   141
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   142
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   143
<code><b>resolve_initial_references</b>(String name)</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   144
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   145
<code><b>list_initial_services</b>()</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   146
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   147
<code><b>register_initial_reference</b>(String id, org.omg.CORBA.Object obj)</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   148
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   149
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   150
<P>An example that uses some of these methods is <A
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   151
HREF="{@docRoot}/../technotes/guides/idl/GShome.html">
02bb8761fcce Initial load
duke
parents:
diff changeset
   152
<em>Getting Started with Java IDL</em></A>.
02bb8761fcce Initial load
duke
parents:
diff changeset
   153
02bb8761fcce Initial load
duke
parents:
diff changeset
   154
<H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   155
Exceptions</H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   156
Exceptions in Java IDL are similar to those in any code written in the
02bb8761fcce Initial load
duke
parents:
diff changeset
   157
Java programming language. If a method is defined to throw an exception,
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   158
then any code using that method must have a <code>try</code>/<code>catch</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   159
block and handle that exception when it is thrown.
02bb8761fcce Initial load
duke
parents:
diff changeset
   160
02bb8761fcce Initial load
duke
parents:
diff changeset
   161
<P>The documentation on <A 
02bb8761fcce Initial load
duke
parents:
diff changeset
   162
HREF="{@docRoot}/../technotes/guides/idl/jidlExceptions.html"><em>Java
02bb8761fcce Initial load
duke
parents:
diff changeset
   163
IDL exceptions</em></A> has more information and explains the difference between
02bb8761fcce Initial load
duke
parents:
diff changeset
   164
system exceptions and user-defined exceptions.
02bb8761fcce Initial load
duke
parents:
diff changeset
   165
02bb8761fcce Initial load
duke
parents:
diff changeset
   166
<P>The following is a list of the system exceptions (which are unchecked
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   167
exceptions inheriting through <code><a href="SystemException.html">
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   168
org.omg.CORBA.SystemException</a></code> from
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   169
<code>java.lang.RuntimeException</code>) that are defined in the package
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   170
<code>org.omg.CORBA</code>:
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   171
<PRE><code>
02bb8761fcce Initial load
duke
parents:
diff changeset
   172
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BAD_CONTEXT
02bb8761fcce Initial load
duke
parents:
diff changeset
   173
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BAD_INV_ORDER
02bb8761fcce Initial load
duke
parents:
diff changeset
   174
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BAD_OPERATION
02bb8761fcce Initial load
duke
parents:
diff changeset
   175
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BAD_PARAM
02bb8761fcce Initial load
duke
parents:
diff changeset
   176
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BAD_TYPECODE
02bb8761fcce Initial load
duke
parents:
diff changeset
   177
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; COMM_FAILURE
02bb8761fcce Initial load
duke
parents:
diff changeset
   178
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DATA_CONVERSION
02bb8761fcce Initial load
duke
parents:
diff changeset
   179
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FREE_MEM
02bb8761fcce Initial load
duke
parents:
diff changeset
   180
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IMP_LIMIT
02bb8761fcce Initial load
duke
parents:
diff changeset
   181
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INITIALIZE
02bb8761fcce Initial load
duke
parents:
diff changeset
   182
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INTERNAL
02bb8761fcce Initial load
duke
parents:
diff changeset
   183
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INTF_REPOS
02bb8761fcce Initial load
duke
parents:
diff changeset
   184
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INVALID_TRANSACTION
02bb8761fcce Initial load
duke
parents:
diff changeset
   185
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INV_FLAG
02bb8761fcce Initial load
duke
parents:
diff changeset
   186
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INV_IDENT
02bb8761fcce Initial load
duke
parents:
diff changeset
   187
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INV_OBJREF
02bb8761fcce Initial load
duke
parents:
diff changeset
   188
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INV_POLICY
02bb8761fcce Initial load
duke
parents:
diff changeset
   189
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MARSHAL
02bb8761fcce Initial load
duke
parents:
diff changeset
   190
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="#NO_IMPLEMENT">NO_IMPLEMENT</a>
02bb8761fcce Initial load
duke
parents:
diff changeset
   191
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NO_MEMORY
02bb8761fcce Initial load
duke
parents:
diff changeset
   192
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NO_PERMISSION
02bb8761fcce Initial load
duke
parents:
diff changeset
   193
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NO_RESOURCES
02bb8761fcce Initial load
duke
parents:
diff changeset
   194
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NO_RESPONSE
02bb8761fcce Initial load
duke
parents:
diff changeset
   195
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJECT_NOT_EXIST
02bb8761fcce Initial load
duke
parents:
diff changeset
   196
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJ_ADAPTER
02bb8761fcce Initial load
duke
parents:
diff changeset
   197
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PERSIST_STORE
02bb8761fcce Initial load
duke
parents:
diff changeset
   198
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TRANSACTION_REQUIRED
02bb8761fcce Initial load
duke
parents:
diff changeset
   199
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TRANSACTION_ROLLEDBACK
02bb8761fcce Initial load
duke
parents:
diff changeset
   200
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TRANSIENT
02bb8761fcce Initial load
duke
parents:
diff changeset
   201
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNKNOWN
02bb8761fcce Initial load
duke
parents:
diff changeset
   202
</code></PRE>
02bb8761fcce Initial load
duke
parents:
diff changeset
   203
<P>
02bb8761fcce Initial load
duke
parents:
diff changeset
   204
The following is a list of user-defined exceptions defined in the package
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   205
<code>org.omg.CORBA</code>.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   206
<PRE><code>
02bb8761fcce Initial load
duke
parents:
diff changeset
   207
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bounds
02bb8761fcce Initial load
duke
parents:
diff changeset
   208
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UnknownUserException
02bb8761fcce Initial load
duke
parents:
diff changeset
   209
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WrongTransaction&nbsp;
02bb8761fcce Initial load
duke
parents:
diff changeset
   210
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PolicyError
02bb8761fcce Initial load
duke
parents:
diff changeset
   211
</code></PRE>
02bb8761fcce Initial load
duke
parents:
diff changeset
   212
02bb8761fcce Initial load
duke
parents:
diff changeset
   213
 <H2>Subpackages</H2>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   214
There are some packages inside the <code>CORBA</code> package with
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   215
"Package" as part of their names. These packages are generally quite small
02bb8761fcce Initial load
duke
parents:
diff changeset
   216
because all they do is provide exceptions or classes for use by interfaces
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   217
and classes in the <code>CORBA</code> package.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   218
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   219
<P>For example, the package <code><a href="TypeCodePackage/package-summary.html">
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   220
org.omg.CORBA.TypeCodePackage</a></code> contains
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   221
two exceptions thrown by methods in the class <code>TypeCode</code>. These
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   222
exceptions are:
02bb8761fcce Initial load
duke
parents:
diff changeset
   223
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   224
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   225
<code>BadKind</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   226
02bb8761fcce Initial load
duke
parents:
diff changeset
   227
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   228
<code>Bounds</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   229
</UL>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   230
The package <code><a href="ORBPackage/package-summary.html">
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   231
org.omg.CORBA.ORBPackage</a></code> contains two exceptions:
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   232
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   233
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   234
<code>InvalidName</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   235
02bb8761fcce Initial load
duke
parents:
diff changeset
   236
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   237
<code>InconsistentTypeCode</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   238
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   239
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   240
<P>Another package that is a subpackage of <code>CORBA</code> is the
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   241
<code><a href="portable/package-summary.html">portable</a></code>
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   242
package. It provides a set of ORB APIs that makes it
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   243
possible for code generated by one vendor's IDL compiler to run
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   244
on another vendor's ORB.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   245
02bb8761fcce Initial load
duke
parents:
diff changeset
   246
02bb8761fcce Initial load
duke
parents:
diff changeset
   247
02bb8761fcce Initial load
duke
parents:
diff changeset
   248
02bb8761fcce Initial load
duke
parents:
diff changeset
   249
<H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   250
Holder classes</H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   251
 
02bb8761fcce Initial load
duke
parents:
diff changeset
   252
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   253
<P>Support for out and inout parameter passing modes requires the use of
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   254
additional  <em><a href="doc-files/generatedfiles.html#holder">holder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   255
classes</a></em>. Because the Java programming language does not support out or
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   256
inout parameters, holder classes are needed as a means of passing a parameter
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   257
that can be modified. To support portable stubs and skeletons,
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   258
holder classes also implement the
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   259
<code><a href="portable/Streamable.html">org.omg.CORBA.portable.Streamable</a></code>
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   260
interface.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   261
 
02bb8761fcce Initial load
duke
parents:
diff changeset
   262
 <P>Holder classes are named by appending "Holder" to the name of the type.
02bb8761fcce Initial load
duke
parents:
diff changeset
   263
 The name of the type refers to its name in the Java programming language.  For
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   264
 example, a holder class for the interface named <code>Account</code>
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   265
 in the Java programming
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   266
 language would be named <code>AccountHolder</code>.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   267
02bb8761fcce Initial load
duke
parents:
diff changeset
   268
02bb8761fcce Initial load
duke
parents:
diff changeset
   269
<P>Holder classes are available for all of the basic IDL
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   270
 datatypes in the <code>org.omg.CORBA</code> package.  So, for example,
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   271
 there are already-defined classes for <code>LongHolder</code>, <code>ShortHolder</code>,
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   272
 <code>FloatHolder</code>, and so on.  Classes are also generated for
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   273
 all named user-defined IDL types except those defined by <code>typedefs</code>.
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   274
 (Note that in this context user defined includes types that are
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   275
 defined in OMG specifications such as those for the Interface
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   276
  Repository, and other OMG services.)
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   277
02bb8761fcce Initial load
duke
parents:
diff changeset
   278
02bb8761fcce Initial load
duke
parents:
diff changeset
   279
<P>Each holder class has:
02bb8761fcce Initial load
duke
parents:
diff changeset
   280
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   281
<LI>a constructor from an instance
02bb8761fcce Initial load
duke
parents:
diff changeset
   282
<LI>a default constructor
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   283
<LI>a public instance member, <code>value</code> which is the typed value.
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   284
<LI>a method for reading an input stream and assigning the contents to the
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   285
type's <code>value</code> field
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   286
<LI>a method for writing the value of the <code>value</code> field to an output stream
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   287
<LI>a method for getting the typecode of the type
02bb8761fcce Initial load
duke
parents:
diff changeset
   288
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   289
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   290
<P>The default constructor sets the value field to the default value for the
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   291
type as defined by the Java language:
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   292
<UL>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   293
<LI><code>false</code> for boolean
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   294
<LI><code>0</code> for numeric and char types
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   295
<LI><code>null</code> for strings and object references
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   296
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   297
02bb8761fcce Initial load
duke
parents:
diff changeset
   298
02bb8761fcce Initial load
duke
parents:
diff changeset
   299
02bb8761fcce Initial load
duke
parents:
diff changeset
   300
<P>
02bb8761fcce Initial load
duke
parents:
diff changeset
   301
As an example, if the interface <code>Account</code>, defined in OMG IDL,
02bb8761fcce Initial load
duke
parents:
diff changeset
   302
were mapped to the Java programming language, the following holder class
02bb8761fcce Initial load
duke
parents:
diff changeset
   303
would be generated:
02bb8761fcce Initial load
duke
parents:
diff changeset
   304
<PRE>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   305
public final class AccountHolder implements
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   306
    org.omg.CORBA.portable.Streamable
02bb8761fcce Initial load
duke
parents:
diff changeset
   307
{
02bb8761fcce Initial load
duke
parents:
diff changeset
   308
  // field that holds an Account object
02bb8761fcce Initial load
duke
parents:
diff changeset
   309
  public Account value = null;
02bb8761fcce Initial load
duke
parents:
diff changeset
   310
02bb8761fcce Initial load
duke
parents:
diff changeset
   311
  // default constructor
02bb8761fcce Initial load
duke
parents:
diff changeset
   312
  public AccountHolder ()
02bb8761fcce Initial load
duke
parents:
diff changeset
   313
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   314
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   315
  
02bb8761fcce Initial load
duke
parents:
diff changeset
   316
  // creates a new AccountHolder from initialValue
02bb8761fcce Initial load
duke
parents:
diff changeset
   317
  public AccountHolder (Account initialValue)
02bb8761fcce Initial load
duke
parents:
diff changeset
   318
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   319
    value = initialValue;
02bb8761fcce Initial load
duke
parents:
diff changeset
   320
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   321
  
02bb8761fcce Initial load
duke
parents:
diff changeset
   322
  // reads the contents of i and assigns the contents to value
02bb8761fcce Initial load
duke
parents:
diff changeset
   323
  public void _read (org.omg.CORBA.portable.InputStream i)
02bb8761fcce Initial load
duke
parents:
diff changeset
   324
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   325
    value = AccountHelper.read (i);
02bb8761fcce Initial load
duke
parents:
diff changeset
   326
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   327
02bb8761fcce Initial load
duke
parents:
diff changeset
   328
  // writes value to o
02bb8761fcce Initial load
duke
parents:
diff changeset
   329
  public void _write (org.omg.CORBA.portable.OutputStream o)
02bb8761fcce Initial load
duke
parents:
diff changeset
   330
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   331
    AccountHelper.write (o, value);
02bb8761fcce Initial load
duke
parents:
diff changeset
   332
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   333
 
02bb8761fcce Initial load
duke
parents:
diff changeset
   334
  // returns the typecode for Account
02bb8761fcce Initial load
duke
parents:
diff changeset
   335
  public org.omg.CORBA.TypeCode _type ()
02bb8761fcce Initial load
duke
parents:
diff changeset
   336
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   337
    return AccountHelper.type ();
02bb8761fcce Initial load
duke
parents:
diff changeset
   338
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   339
02bb8761fcce Initial load
duke
parents:
diff changeset
   340
}
02bb8761fcce Initial load
duke
parents:
diff changeset
   341
</PRE>
02bb8761fcce Initial load
duke
parents:
diff changeset
   342
02bb8761fcce Initial load
duke
parents:
diff changeset
   343
<P>For more information on Holder classes, see Chapter 1.4, <em>Mapping for
23749
cdbbec8fdf45 8033075: Broken Links In CORBA API docs
msheppar
parents: 5555
diff changeset
   344
Basic Types</em> in the <a href="http://www.omg.org/cgi-bin/doc?ptc/00-01-08">
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   345
<em>OMG IDL to Java Language Mapping</em></a>. The Holder classes defined 
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   346
in the package <code>org.omg.CORBA</code> are:
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   347
<PRE><code>
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   348
&nbsp;&nbsp;&nbsp;&nbsp; AnyHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   349
&nbsp;&nbsp;&nbsp;&nbsp; AnySeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   350
&nbsp;&nbsp;&nbsp;&nbsp; BooleanHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   351
&nbsp;&nbsp;&nbsp;&nbsp; BooleanSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   352
&nbsp;&nbsp;&nbsp;&nbsp; ByteHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   353
&nbsp;&nbsp;&nbsp;&nbsp; CharHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   354
&nbsp;&nbsp;&nbsp;&nbsp; CharSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   355
&nbsp;&nbsp;&nbsp;&nbsp; CurrentHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   356
&nbsp;&nbsp;&nbsp;&nbsp; DoubleHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   357
&nbsp;&nbsp;&nbsp;&nbsp; DoubleSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   358
&nbsp;&nbsp;&nbsp;&nbsp; FixedHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   359
&nbsp;&nbsp;&nbsp;&nbsp; FloatHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   360
&nbsp;&nbsp;&nbsp;&nbsp; FloatSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   361
&nbsp;&nbsp;&nbsp;&nbsp; IntHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   362
&nbsp;&nbsp;&nbsp;&nbsp; LongHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   363
&nbsp;&nbsp;&nbsp;&nbsp; LongLongSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   364
&nbsp;&nbsp;&nbsp;&nbsp; LongSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   365
&nbsp;&nbsp;&nbsp;&nbsp; ObjectHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   366
&nbsp;&nbsp;&nbsp;&nbsp; OctetSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   367
&nbsp;&nbsp;&nbsp;&nbsp; ParameterModeHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   368
&nbsp;&nbsp;&nbsp;&nbsp; PolicyErrorHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   369
&nbsp;&nbsp;&nbsp;&nbsp; PolicyListHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   370
&nbsp;&nbsp;&nbsp;&nbsp; PrincipalHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   371
&nbsp;&nbsp;&nbsp;&nbsp; ServiceInformationHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   372
&nbsp;&nbsp;&nbsp;&nbsp; ShortHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   373
&nbsp;&nbsp;&nbsp;&nbsp; ShortSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   374
&nbsp;&nbsp;&nbsp;&nbsp; StringHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   375
&nbsp;&nbsp;&nbsp;&nbsp; StringSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   376
&nbsp;&nbsp;&nbsp;&nbsp; TypeCodeHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   377
&nbsp;&nbsp;&nbsp;&nbsp; ULongLongSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   378
&nbsp;&nbsp;&nbsp;&nbsp; ULongSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   379
&nbsp;&nbsp;&nbsp;&nbsp; UnknownUserExceptionHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   380
&nbsp;&nbsp;&nbsp;&nbsp; UShortSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   381
&nbsp;&nbsp;&nbsp;&nbsp; ValueBaseHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   382
&nbsp;&nbsp;&nbsp;&nbsp; WCharSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   383
&nbsp;&nbsp;&nbsp;&nbsp; WrongTransactionHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   384
&nbsp;&nbsp;&nbsp;&nbsp; WStringSeqHolder
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   385
</code></PRE>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   386
02bb8761fcce Initial load
duke
parents:
diff changeset
   387
<h2>Helper Classes </h2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   388
<P>Helper files supply several static methods needed to manipulate the type.
02bb8761fcce Initial load
duke
parents:
diff changeset
   389
 These include:
02bb8761fcce Initial load
duke
parents:
diff changeset
   390
 <UL>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   391
 <LI><code>Any</code> insert and extract operations for the type
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   392
 <LI>getting the repository id
02bb8761fcce Initial load
duke
parents:
diff changeset
   393
 <LI>getting the typecode
02bb8761fcce Initial load
duke
parents:
diff changeset
   394
 <LI>reading and writing the type from and to a stream
02bb8761fcce Initial load
duke
parents:
diff changeset
   395
 <LI>implement the <code>ValueHelper</code> interface (if it is  a user-defined
02bb8761fcce Initial load
duke
parents:
diff changeset
   396
   value type)
02bb8761fcce Initial load
duke
parents:
diff changeset
   397
 </UL> 
02bb8761fcce Initial load
duke
parents:
diff changeset
   398
02bb8761fcce Initial load
duke
parents:
diff changeset
   399
<P>The helper class for a mapped IDL interface or abstract interface
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   400
also include narrow operation(s). The static narrow method allows
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   401
an <code>org.omg.CORBA.Object</code> to be narrowed to the object reference
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   402
of a more specific type. The IDL exception <code>CORBA.BAD_PARAM</code>
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   403
is thrown if the narrow fails because the object reference does not
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   404
support the requested type. A different system exception is raised
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   405
to indicate other kinds of errors. Trying to narrow a <code>null</code> will always
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   406
succeed with a return value of <code>null</code>.
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   407
Generally, the only helper method an application programmer uses is
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   408
the <code>narrow</code> method.  The other methods are normally used behind
02bb8761fcce Initial load
duke
parents:
diff changeset
   409
the scenes and are transparent to the programmer.
02bb8761fcce Initial load
duke
parents:
diff changeset
   410
02bb8761fcce Initial load
duke
parents:
diff changeset
   411
<P>Helper classes
02bb8761fcce Initial load
duke
parents:
diff changeset
   412
fall into two broad categories, <a href="#value">helpers for value types</a> and
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   413
<a href="#basic">helpers for non value types</a>. Because all of the helper
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   414
classes in one category
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   415
provide the same methods, one generic explanation of each
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   416
category of helper classes is presented here.
02bb8761fcce Initial load
duke
parents:
diff changeset
   417
02bb8761fcce Initial load
duke
parents:
diff changeset
   418
<P>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   419
When OMG IDL is mapped to the Java programming language,
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   420
a "helper" class is generated for each user-defined type.
02bb8761fcce Initial load
duke
parents:
diff changeset
   421
This generated class will have the name of the user-defined type with
02bb8761fcce Initial load
duke
parents:
diff changeset
   422
the suffix <code>Helper</code> appended.  For example, if the
02bb8761fcce Initial load
duke
parents:
diff changeset
   423
interface <code>Account</code> is defined in OMG IDL, the
02bb8761fcce Initial load
duke
parents:
diff changeset
   424
<code>idlj</code> compiler will automatically generate a class named
02bb8761fcce Initial load
duke
parents:
diff changeset
   425
<code>AccountHelper</code>.  The <code>AccountHelper</code> class
02bb8761fcce Initial load
duke
parents:
diff changeset
   426
will contain the static methods needed for manipulating instances of the type,
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   427
in this case, <code>Account</code> objects.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   428
02bb8761fcce Initial load
duke
parents:
diff changeset
   429
02bb8761fcce Initial load
duke
parents:
diff changeset
   430
<a name="narrow"></a>
02bb8761fcce Initial load
duke
parents:
diff changeset
   431
<h3>The <code>narrow</code> Method</h3>
02bb8761fcce Initial load
duke
parents:
diff changeset
   432
When an object is the return value for a method, it is returned in the
02bb8761fcce Initial load
duke
parents:
diff changeset
   433
form of a generic object, either an <code>org.omg.CORBA.Object</code> object
02bb8761fcce Initial load
duke
parents:
diff changeset
   434
or a <code>java.lang.Object</code> object. This object must be cast to its
02bb8761fcce Initial load
duke
parents:
diff changeset
   435
more specific type before it can be operated on.  For example, an
02bb8761fcce Initial load
duke
parents:
diff changeset
   436
<code>Account</code> object will be returned as a generic object and must
02bb8761fcce Initial load
duke
parents:
diff changeset
   437
be narrowed to an <code>Account</code> object so that <code>Account</code>
02bb8761fcce Initial load
duke
parents:
diff changeset
   438
methods may be called on it.
02bb8761fcce Initial load
duke
parents:
diff changeset
   439
<P>
02bb8761fcce Initial load
duke
parents:
diff changeset
   440
The <code>narrow</code> method has two forms, one that takes an
02bb8761fcce Initial load
duke
parents:
diff changeset
   441
<code>org.omg.CORBA.Object</code> object and one that takes a
02bb8761fcce Initial load
duke
parents:
diff changeset
   442
<code>java.lang.Object</code> object. Whether the interface is abstract or
02bb8761fcce Initial load
duke
parents:
diff changeset
   443
not determines which <code>narrow</code> method its helper class will provide.
02bb8761fcce Initial load
duke
parents:
diff changeset
   444
The helper class for an interface
02bb8761fcce Initial load
duke
parents:
diff changeset
   445
that is not abstract will have a <code>narrow</code> method that takes a CORBA
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   446
object, whereas the <code>narrow</code> method for an interface that is abstract
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   447
will take an object in the Java programming language.  The helper class for a
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   448
non-abstract interface that has at least one abstract base interface will provide
02bb8761fcce Initial load
duke
parents:
diff changeset
   449
both versions of the <code>narrow</code> method.
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   450
<P>The <A HREF="{@docRoot}/../technotes/guides/idl/jidlExample.html"><em>Hello World</em></A>
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   451
tutorial uses a <code>narrow</code> method that looks like this:
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   452
<PRE>
02bb8761fcce Initial load
duke
parents:
diff changeset
   453
        // create and initialize the ORB
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   454
        ORB orb = ORB.init(args, null);
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   455
02bb8761fcce Initial load
duke
parents:
diff changeset
   456
        // get the root naming context
02bb8761fcce Initial load
duke
parents:
diff changeset
   457
        org.omg.CORBA.Object objRef = 
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   458
            orb.resolve_initial_references("NameService");
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   459
        // Use NamingContextExt instead of NamingContext. This is 
02bb8761fcce Initial load
duke
parents:
diff changeset
   460
        // part of latest Inter-Operable naming Service.  
02bb8761fcce Initial load
duke
parents:
diff changeset
   461
        NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
02bb8761fcce Initial load
duke
parents:
diff changeset
   462
 
02bb8761fcce Initial load
duke
parents:
diff changeset
   463
        // resolve the Object Reference in Naming
02bb8761fcce Initial load
duke
parents:
diff changeset
   464
        String name = "Hello";
02bb8761fcce Initial load
duke
parents:
diff changeset
   465
        helloImpl = HelloHelper.narrow(ncRef.resolve_str(name));
02bb8761fcce Initial load
duke
parents:
diff changeset
   466
</PRE>
02bb8761fcce Initial load
duke
parents:
diff changeset
   467
02bb8761fcce Initial load
duke
parents:
diff changeset
   468
<a name="basic"></a>
02bb8761fcce Initial load
duke
parents:
diff changeset
   469
<h3>Example of a Basic Helper Class</h3>
02bb8761fcce Initial load
duke
parents:
diff changeset
   470
A basic helper class, for purposes of this explanation, is one with
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   471
the methods that are provided by every helper class, plus a <code>narrow</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   472
method if the type defined in OMG IDL maps to an interface in the Java
02bb8761fcce Initial load
duke
parents:
diff changeset
   473
programming language.  Types that are not value types will have a basic
02bb8761fcce Initial load
duke
parents:
diff changeset
   474
helper class generated for them.
02bb8761fcce Initial load
duke
parents:
diff changeset
   475
<P>
02bb8761fcce Initial load
duke
parents:
diff changeset
   476
For example, assuming that the interface <code>Account</code> is not a
02bb8761fcce Initial load
duke
parents:
diff changeset
   477
value type IDL type and is also not an abstract interface and has no
02bb8761fcce Initial load
duke
parents:
diff changeset
   478
abstract base interfaces, its <code>AccountHelper</code> class will look
02bb8761fcce Initial load
duke
parents:
diff changeset
   479
like this:
02bb8761fcce Initial load
duke
parents:
diff changeset
   480
<PRE>
02bb8761fcce Initial load
duke
parents:
diff changeset
   481
abstract public class AccountHelper
02bb8761fcce Initial load
duke
parents:
diff changeset
   482
{
02bb8761fcce Initial load
duke
parents:
diff changeset
   483
  private static String  _id = "IDL:Account:1.0";
02bb8761fcce Initial load
duke
parents:
diff changeset
   484
02bb8761fcce Initial load
duke
parents:
diff changeset
   485
  // inserts an Account object into an Any object
02bb8761fcce Initial load
duke
parents:
diff changeset
   486
  public static void insert (org.omg.CORBA.Any a, Account that)
02bb8761fcce Initial load
duke
parents:
diff changeset
   487
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   488
    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
02bb8761fcce Initial load
duke
parents:
diff changeset
   489
    a.type (type ());
02bb8761fcce Initial load
duke
parents:
diff changeset
   490
    write (out, that);
02bb8761fcce Initial load
duke
parents:
diff changeset
   491
    a.read_value (out.create_input_stream (), type ());
02bb8761fcce Initial load
duke
parents:
diff changeset
   492
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   493
02bb8761fcce Initial load
duke
parents:
diff changeset
   494
  // extracts an Account object from an Any object
02bb8761fcce Initial load
duke
parents:
diff changeset
   495
  public static Account extract (org.omg.CORBA.Any a)
02bb8761fcce Initial load
duke
parents:
diff changeset
   496
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   497
    return read (a.create_input_stream ());
02bb8761fcce Initial load
duke
parents:
diff changeset
   498
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   499
02bb8761fcce Initial load
duke
parents:
diff changeset
   500
  
02bb8761fcce Initial load
duke
parents:
diff changeset
   501
  private static org.omg.CORBA.TypeCode __typeCode = null;
02bb8761fcce Initial load
duke
parents:
diff changeset
   502
  // gets the typecode for this type
02bb8761fcce Initial load
duke
parents:
diff changeset
   503
  synchronized public static org.omg.CORBA.TypeCode type ()
02bb8761fcce Initial load
duke
parents:
diff changeset
   504
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   505
    if (__typeCode == null)
02bb8761fcce Initial load
duke
parents:
diff changeset
   506
    {
02bb8761fcce Initial load
duke
parents:
diff changeset
   507
      __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (AccountHelper.id (), "Account");
02bb8761fcce Initial load
duke
parents:
diff changeset
   508
    }
02bb8761fcce Initial load
duke
parents:
diff changeset
   509
    return __typeCode;
02bb8761fcce Initial load
duke
parents:
diff changeset
   510
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   511
02bb8761fcce Initial load
duke
parents:
diff changeset
   512
  // gets the repository id for this type
02bb8761fcce Initial load
duke
parents:
diff changeset
   513
  public static String id ()
02bb8761fcce Initial load
duke
parents:
diff changeset
   514
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   515
    return _id;
02bb8761fcce Initial load
duke
parents:
diff changeset
   516
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   517
02bb8761fcce Initial load
duke
parents:
diff changeset
   518
  // reads an Account object from an input stream
02bb8761fcce Initial load
duke
parents:
diff changeset
   519
  public static Account read (org.omg.CORBA.portable.InputStream istream)
02bb8761fcce Initial load
duke
parents:
diff changeset
   520
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   521
    return narrow (istream.read_Object (_AccountStub.class));
02bb8761fcce Initial load
duke
parents:
diff changeset
   522
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   523
02bb8761fcce Initial load
duke
parents:
diff changeset
   524
  // writes an Account object to an outputstream
02bb8761fcce Initial load
duke
parents:
diff changeset
   525
  public static void write (org.omg.CORBA.portable.OutputStream ostream, Account value)
02bb8761fcce Initial load
duke
parents:
diff changeset
   526
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   527
    ostream.write_Object ((org.omg.CORBA.Object) value);
02bb8761fcce Initial load
duke
parents:
diff changeset
   528
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   529
02bb8761fcce Initial load
duke
parents:
diff changeset
   530
  // converts (narrows) an Object to an Account object
02bb8761fcce Initial load
duke
parents:
diff changeset
   531
  public static Account narrow (org.omg.CORBA.Object obj)
02bb8761fcce Initial load
duke
parents:
diff changeset
   532
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   533
    if (obj == null)
02bb8761fcce Initial load
duke
parents:
diff changeset
   534
      return null;
02bb8761fcce Initial load
duke
parents:
diff changeset
   535
    else if (obj instanceof Account)
02bb8761fcce Initial load
duke
parents:
diff changeset
   536
      return (Account)obj;
02bb8761fcce Initial load
duke
parents:
diff changeset
   537
    else if (!obj._is_a (id ()))
02bb8761fcce Initial load
duke
parents:
diff changeset
   538
      throw new org.omg.CORBA.BAD_PARAM ();
02bb8761fcce Initial load
duke
parents:
diff changeset
   539
    else
02bb8761fcce Initial load
duke
parents:
diff changeset
   540
    {
02bb8761fcce Initial load
duke
parents:
diff changeset
   541
      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
02bb8761fcce Initial load
duke
parents:
diff changeset
   542
      _AccountStub stub = new _AccountStub ();
02bb8761fcce Initial load
duke
parents:
diff changeset
   543
      stub._set_delegate(delegate);
02bb8761fcce Initial load
duke
parents:
diff changeset
   544
      return stub;
02bb8761fcce Initial load
duke
parents:
diff changeset
   545
    }
02bb8761fcce Initial load
duke
parents:
diff changeset
   546
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   547
02bb8761fcce Initial load
duke
parents:
diff changeset
   548
}
02bb8761fcce Initial load
duke
parents:
diff changeset
   549
</PRE>
02bb8761fcce Initial load
duke
parents:
diff changeset
   550
02bb8761fcce Initial load
duke
parents:
diff changeset
   551
<h3>Value Type Helper Classes</h3>
02bb8761fcce Initial load
duke
parents:
diff changeset
   552
A helper class for a value type includes different renderings of
02bb8761fcce Initial load
duke
parents:
diff changeset
   553
the same methods generated for non-value type methods. The main difference
02bb8761fcce Initial load
duke
parents:
diff changeset
   554
 is that value types are types that can be
02bb8761fcce Initial load
duke
parents:
diff changeset
   555
passed by value as parameters or return values of a method, which means that
02bb8761fcce Initial load
duke
parents:
diff changeset
   556
they must be serializable.
02bb8761fcce Initial load
duke
parents:
diff changeset
   557
<P>Assuming that <code>Address</code> is a value type, the
02bb8761fcce Initial load
duke
parents:
diff changeset
   558
<code>AddressHelper</code> class will look like this:
02bb8761fcce Initial load
duke
parents:
diff changeset
   559
<pre>
02bb8761fcce Initial load
duke
parents:
diff changeset
   560
abstract public class AddressHelper
02bb8761fcce Initial load
duke
parents:
diff changeset
   561
{
02bb8761fcce Initial load
duke
parents:
diff changeset
   562
  private static String  _id = "IDL:Address:1.0";
02bb8761fcce Initial load
duke
parents:
diff changeset
   563
02bb8761fcce Initial load
duke
parents:
diff changeset
   564
  // same as for non-value type
02bb8761fcce Initial load
duke
parents:
diff changeset
   565
  public static void insert (org.omg.CORBA.Any a, Address that)
02bb8761fcce Initial load
duke
parents:
diff changeset
   566
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   567
    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
02bb8761fcce Initial load
duke
parents:
diff changeset
   568
    a.type (type ());
02bb8761fcce Initial load
duke
parents:
diff changeset
   569
    write (out, that);
02bb8761fcce Initial load
duke
parents:
diff changeset
   570
    a.read_value (out.create_input_stream (), type ());
02bb8761fcce Initial load
duke
parents:
diff changeset
   571
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   572
02bb8761fcce Initial load
duke
parents:
diff changeset
   573
  // same as for non-value type
02bb8761fcce Initial load
duke
parents:
diff changeset
   574
  public static Address extract (org.omg.CORBA.Any a)
02bb8761fcce Initial load
duke
parents:
diff changeset
   575
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   576
    return read (a.create_input_stream ());
02bb8761fcce Initial load
duke
parents:
diff changeset
   577
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   578
02bb8761fcce Initial load
duke
parents:
diff changeset
   579
  private static org.omg.CORBA.TypeCode __typeCode = null;
02bb8761fcce Initial load
duke
parents:
diff changeset
   580
  private static boolean __active = false;
02bb8761fcce Initial load
duke
parents:
diff changeset
   581
  
02bb8761fcce Initial load
duke
parents:
diff changeset
   582
  // getting the typecode for the type
02bb8761fcce Initial load
duke
parents:
diff changeset
   583
  synchronized public static org.omg.CORBA.TypeCode type ()
02bb8761fcce Initial load
duke
parents:
diff changeset
   584
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   585
    if (__typeCode == null)
02bb8761fcce Initial load
duke
parents:
diff changeset
   586
    {
02bb8761fcce Initial load
duke
parents:
diff changeset
   587
      synchronized (org.omg.CORBA.TypeCode.class)
02bb8761fcce Initial load
duke
parents:
diff changeset
   588
      {
02bb8761fcce Initial load
duke
parents:
diff changeset
   589
        if (__typeCode == null)
02bb8761fcce Initial load
duke
parents:
diff changeset
   590
        {
02bb8761fcce Initial load
duke
parents:
diff changeset
   591
          if (__active)
02bb8761fcce Initial load
duke
parents:
diff changeset
   592
          {
02bb8761fcce Initial load
duke
parents:
diff changeset
   593
            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
02bb8761fcce Initial load
duke
parents:
diff changeset
   594
          }
02bb8761fcce Initial load
duke
parents:
diff changeset
   595
          __active = true;
02bb8761fcce Initial load
duke
parents:
diff changeset
   596
          org.omg.CORBA.ValueMember[] _members0 = new org.omg.CORBA.ValueMember[0];
02bb8761fcce Initial load
duke
parents:
diff changeset
   597
          org.omg.CORBA.TypeCode _tcOf_members0 = null;
02bb8761fcce Initial load
duke
parents:
diff changeset
   598
          __typeCode = org.omg.CORBA.ORB.init ().create_value_tc (_id, "Address", org.omg.CORBA.VM_NONE.value, null, _members0);
02bb8761fcce Initial load
duke
parents:
diff changeset
   599
          __active = false;
02bb8761fcce Initial load
duke
parents:
diff changeset
   600
        }
02bb8761fcce Initial load
duke
parents:
diff changeset
   601
      }
02bb8761fcce Initial load
duke
parents:
diff changeset
   602
    }
02bb8761fcce Initial load
duke
parents:
diff changeset
   603
    return __typeCode;
02bb8761fcce Initial load
duke
parents:
diff changeset
   604
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   605
02bb8761fcce Initial load
duke
parents:
diff changeset
   606
  // same as for non-value type
02bb8761fcce Initial load
duke
parents:
diff changeset
   607
  public static String id ()
02bb8761fcce Initial load
duke
parents:
diff changeset
   608
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   609
    return _id;
02bb8761fcce Initial load
duke
parents:
diff changeset
   610
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   611
02bb8761fcce Initial load
duke
parents:
diff changeset
   612
  // reads a serializable instance of Address from the given input stream
02bb8761fcce Initial load
duke
parents:
diff changeset
   613
  public static Address read (org.omg.CORBA.portable.InputStream istream)
02bb8761fcce Initial load
duke
parents:
diff changeset
   614
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   615
    return (Address)((org.omg.CORBA_2_3.portable.InputStream) istream).read_value (id ());
02bb8761fcce Initial load
duke
parents:
diff changeset
   616
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   617
02bb8761fcce Initial load
duke
parents:
diff changeset
   618
  // writes a serializable instance of Address to the given output stream
02bb8761fcce Initial load
duke
parents:
diff changeset
   619
  public static void write (org.omg.CORBA.portable.OutputStream ostream, Address value)
02bb8761fcce Initial load
duke
parents:
diff changeset
   620
  {
02bb8761fcce Initial load
duke
parents:
diff changeset
   621
    ((org.omg.CORBA_2_3.portable.OutputStream) ostream).write_value (value, id ());
02bb8761fcce Initial load
duke
parents:
diff changeset
   622
  }
02bb8761fcce Initial load
duke
parents:
diff changeset
   623
02bb8761fcce Initial load
duke
parents:
diff changeset
   624
02bb8761fcce Initial load
duke
parents:
diff changeset
   625
}
02bb8761fcce Initial load
duke
parents:
diff changeset
   626
</pre>
02bb8761fcce Initial load
duke
parents:
diff changeset
   627
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   628
<P>The Helper classes defined in the package <code>org.omg.CORBA</code> are:
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   629
<PRE><code>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   630
&nbsp;&nbsp;&nbsp;&nbsp; AnySeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   631
&nbsp;&nbsp;&nbsp;&nbsp; BooleanSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   632
&nbsp;&nbsp;&nbsp;&nbsp; CharSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   633
&nbsp;&nbsp;&nbsp;&nbsp; CompletionStatusHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   634
&nbsp;&nbsp;&nbsp;&nbsp; CurrentHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   635
&nbsp;&nbsp;&nbsp;&nbsp; DefinitionKindHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   636
&nbsp;&nbsp;&nbsp;&nbsp; DoubleSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   637
&nbsp;&nbsp;&nbsp;&nbsp; FieldNameHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   638
&nbsp;&nbsp;&nbsp;&nbsp; FloatSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   639
&nbsp;&nbsp;&nbsp;&nbsp; IdentifierHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   640
&nbsp;&nbsp;&nbsp;&nbsp; IDLTypeHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   641
&nbsp;&nbsp;&nbsp;&nbsp; LongLongSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   642
&nbsp;&nbsp;&nbsp;&nbsp; LongSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   643
&nbsp;&nbsp;&nbsp;&nbsp; NameValuePairHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   644
&nbsp;&nbsp;&nbsp;&nbsp; ObjectHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   645
&nbsp;&nbsp;&nbsp;&nbsp; OctetSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   646
&nbsp;&nbsp;&nbsp;&nbsp; ParameterModeHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   647
&nbsp;&nbsp;&nbsp;&nbsp; PolicyErrorCodeHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   648
&nbsp;&nbsp;&nbsp;&nbsp; PolicyErrorHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   649
&nbsp;&nbsp;&nbsp;&nbsp; PolicyHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   650
&nbsp;&nbsp;&nbsp;&nbsp; PolicyListHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   651
&nbsp;&nbsp;&nbsp;&nbsp; PolicyTypeHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   652
&nbsp;&nbsp;&nbsp;&nbsp; RepositoryIdHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   653
&nbsp;&nbsp;&nbsp;&nbsp; ServiceDetailHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   654
&nbsp;&nbsp;&nbsp;&nbsp; ServiceInformationHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   655
&nbsp;&nbsp;&nbsp;&nbsp; SetOverrideTypeHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   656
&nbsp;&nbsp;&nbsp;&nbsp; ShortSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   657
&nbsp;&nbsp;&nbsp;&nbsp; StringSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   658
&nbsp;&nbsp;&nbsp;&nbsp; StringValueHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   659
&nbsp;&nbsp;&nbsp;&nbsp; StructMemberHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   660
&nbsp;&nbsp;&nbsp;&nbsp; ULongLongSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   661
&nbsp;&nbsp;&nbsp;&nbsp; ULongSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   662
&nbsp;&nbsp;&nbsp;&nbsp; UnionMemberHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   663
&nbsp;&nbsp;&nbsp;&nbsp; UnknownUserExceptionHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   664
&nbsp;&nbsp;&nbsp;&nbsp; UShortSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   665
&nbsp;&nbsp;&nbsp;&nbsp; ValueBaseHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   666
&nbsp;&nbsp;&nbsp;&nbsp; ValueMemberHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   667
&nbsp;&nbsp;&nbsp;&nbsp; VersionSpecHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   668
&nbsp;&nbsp;&nbsp;&nbsp; VisibilityHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   669
&nbsp;&nbsp;&nbsp;&nbsp; WCharSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   670
&nbsp;&nbsp;&nbsp;&nbsp; WrongTransactionHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   671
&nbsp;&nbsp;&nbsp;&nbsp; WStringSeqHelper
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   672
&nbsp;&nbsp;&nbsp;&nbsp; WStringValueHelper
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   673
</code></PRE>
02bb8761fcce Initial load
duke
parents:
diff changeset
   674
<a name="adv"></a>
02bb8761fcce Initial load
duke
parents:
diff changeset
   675
<H1>
02bb8761fcce Initial load
duke
parents:
diff changeset
   676
Other Classes</H1>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   677
The other classes and interfaces in the <code>CORBA</code> package, which are
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   678
used behind the scenes, can be put into four groups. Three of the groups
02bb8761fcce Initial load
duke
parents:
diff changeset
   679
are used with requests in some capacity, and the fourth group, concerning
02bb8761fcce Initial load
duke
parents:
diff changeset
   680
the Interface Repository, is a category by itself.
02bb8761fcce Initial load
duke
parents:
diff changeset
   681
<H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   682
Classes Created by an ORB</H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   683
The first group contains classes that are created by an ORB and contain
02bb8761fcce Initial load
duke
parents:
diff changeset
   684
information used in request operations. 
02bb8761fcce Initial load
duke
parents:
diff changeset
   685
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   686
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   687
<code>TCKind</code> -- indicates the kind (datatype) for a <code>TypeCode</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   688
object
02bb8761fcce Initial load
duke
parents:
diff changeset
   689
02bb8761fcce Initial load
duke
parents:
diff changeset
   690
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   691
<code>TypeCode</code> -- indicates a datatype and possibly other information
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   692
02bb8761fcce Initial load
duke
parents:
diff changeset
   693
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   694
<code>Any</code> -- contains a value and its typecode
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   695
02bb8761fcce Initial load
duke
parents:
diff changeset
   696
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   697
<code>NamedValue</code> -- contains a name, an <code>Any</code> object, and an
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   698
argument mode flag. <code>NamedValue</code> objects contain information about
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   699
method arguments, method return values, or a context.
02bb8761fcce Initial load
duke
parents:
diff changeset
   700
02bb8761fcce Initial load
duke
parents:
diff changeset
   701
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   702
<code>ContextList</code> -- a list of strings that describe the contexts that
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   703
need to be resolved and sent with an invocation
02bb8761fcce Initial load
duke
parents:
diff changeset
   704
02bb8761fcce Initial load
duke
parents:
diff changeset
   705
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   706
<code>ExceptionList</code> -- a list of <code>TypeCode</code>s for exceptions that
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   707
may be thrown by a method
02bb8761fcce Initial load
duke
parents:
diff changeset
   708
02bb8761fcce Initial load
duke
parents:
diff changeset
   709
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   710
<code>Environment</code> -- a container for the exception thrown during a method
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   711
invocation
02bb8761fcce Initial load
duke
parents:
diff changeset
   712
02bb8761fcce Initial load
duke
parents:
diff changeset
   713
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   714
<code>Context</code> -- a list of <code>NamedValue</code> objects used to pass
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   715
auxiliary information from client to server
02bb8761fcce Initial load
duke
parents:
diff changeset
   716
02bb8761fcce Initial load
duke
parents:
diff changeset
   717
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   718
<code>NVList</code> -- a list of <code>NamedValue</code> objects, used to pass
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   719
arguments or get results
02bb8761fcce Initial load
duke
parents:
diff changeset
   720
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   721
02bb8761fcce Initial load
duke
parents:
diff changeset
   722
<H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   723
Classes That Deal with Requests</H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   724
The second group of classes deals with requests:
02bb8761fcce Initial load
duke
parents:
diff changeset
   725
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   726
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   727
<code>Object</code> -- the base class for all CORBA object references
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   728
02bb8761fcce Initial load
duke
parents:
diff changeset
   729
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   730
<code>Request</code> -- the main class in the DII, which contains methods for
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   731
adding arguments to the request, for accessing information about the method
02bb8761fcce Initial load
duke
parents:
diff changeset
   732
being invoked (the method name, its arguments, exceptions it throws, and
02bb8761fcce Initial load
duke
parents:
diff changeset
   733
so on), and for making invocations on the request
02bb8761fcce Initial load
duke
parents:
diff changeset
   734
02bb8761fcce Initial load
duke
parents:
diff changeset
   735
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   736
<code>DynamicImplementation</code> -- the base class for server implementations
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   737
using the DSI. It has the method <code>invoke</code>, which is used by an 
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   738
implementation
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   739
of this class to determine the state of a <code>ServerRequest</code> object
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   740
and to set its result or exception
02bb8761fcce Initial load
duke
parents:
diff changeset
   741
02bb8761fcce Initial load
duke
parents:
diff changeset
   742
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   743
<code>ServerRequest</code> -- captures the explicit state of a request for
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   744
the Dynamic Skeleton Interface
02bb8761fcce Initial load
duke
parents:
diff changeset
   745
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   746
02bb8761fcce Initial load
duke
parents:
diff changeset
   747
<H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   748
Interfaces That Serve as Constants</H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   749
The third group contains interfaces that serve as constants. The IDL-to-Java
02bb8761fcce Initial load
duke
parents:
diff changeset
   750
mapping mandates that IDL enums are mapped to a Java class with the enumerated
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   751
values represented as public static final fields in that class (e.g.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   752
DefinitionKind).
02bb8761fcce Initial load
duke
parents:
diff changeset
   753
On the other hand IDL constants defined outside of an IDL interface are
02bb8761fcce Initial load
duke
parents:
diff changeset
   754
mapped to a Java interface for each constant.
02bb8761fcce Initial load
duke
parents:
diff changeset
   755
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   756
<P>This is why several interfaces in the <code>org.omg.CORBA</code> package
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   757
consist of a single field, <code>value</code>, which is a <code>short</code>. This
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   758
field is a constant used for such things as an error code or value modifier.
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   759
For example, the <code>value</code> field of the interface <code>BAD_POLICY</code>
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   760
is one of the possible reasons for the exception <code>PolicyError</code> to
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   761
be thrown. To specify this error code, you would use <code>BAD_POLICY.value</code>.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   762
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   763
<P>The exception <code>PolicyError</code> uses the <code>value</code> field of
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   764
the following interfaces as its possible error codes.
02bb8761fcce Initial load
duke
parents:
diff changeset
   765
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   766
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   767
<code>BAD_POLICY</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   768
02bb8761fcce Initial load
duke
parents:
diff changeset
   769
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   770
<code>BAD_POLICY_TYPE</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   771
02bb8761fcce Initial load
duke
parents:
diff changeset
   772
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   773
<code>BAD_POLICY_VALUE</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   774
02bb8761fcce Initial load
duke
parents:
diff changeset
   775
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   776
<code>UNSUPPORTED_POLICY</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   777
02bb8761fcce Initial load
duke
parents:
diff changeset
   778
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   779
<code>UNSUPPORTED_POLICY_VALUE</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   780
</UL>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   781
The method <code>TypeCode.type_modifier</code> returns the <code>value</code> field
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   782
of one of the following interfaces. The <code>VM</code> in the names of these
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   783
interfaces stands for "value modifier."
02bb8761fcce Initial load
duke
parents:
diff changeset
   784
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   785
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   786
<code>VM_NONE</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   787
02bb8761fcce Initial load
duke
parents:
diff changeset
   788
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   789
<code>VM_ABSTRACT</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   790
02bb8761fcce Initial load
duke
parents:
diff changeset
   791
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   792
<code>VM_CUSTOM</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   793
02bb8761fcce Initial load
duke
parents:
diff changeset
   794
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   795
<code>VM_TRUNCATABLE</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   796
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   797
The following constants are returned by a <code>ValueMember</code> object's
02bb8761fcce Initial load
duke
parents:
diff changeset
   798
access method to denote the visibility of the <code>ValueMember</code> object.
02bb8761fcce Initial load
duke
parents:
diff changeset
   799
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   800
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   801
<code>PRIVATE_MEMBER</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   802
02bb8761fcce Initial load
duke
parents:
diff changeset
   803
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   804
<code>PUBLIC_MEMBER</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   805
</UL>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   806
These flags, used in <code>NamedValue</code> objects or as parameters to methods,
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   807
are defined in the following interfaces:
02bb8761fcce Initial load
duke
parents:
diff changeset
   808
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   809
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   810
<code>ARG_IN</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   811
02bb8761fcce Initial load
duke
parents:
diff changeset
   812
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   813
<code>ARG_INOUT</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   814
02bb8761fcce Initial load
duke
parents:
diff changeset
   815
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   816
<code>ARG_OUT</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   817
02bb8761fcce Initial load
duke
parents:
diff changeset
   818
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   819
<code>CTX_RESTRICT_SCOPE</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   820
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   821
02bb8761fcce Initial load
duke
parents:
diff changeset
   822
<H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   823
Interface Repository Interfaces and Classes</H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   824
A fourth group contains the Interface Repository interfaces and classes,
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   825
which are generated by the <code>idlj</code> compiler from the OMG IDL
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   826
interface <code>ir.idl</code>. The purpose of the Interface Repository is to
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   827
identify the interfaces stored in it so that they can be accessed by an
02bb8761fcce Initial load
duke
parents:
diff changeset
   828
ORB. Each module, type, interface, attribute, operation, parameter, exception,
02bb8761fcce Initial load
duke
parents:
diff changeset
   829
constant, and so on is described completely by the Interface Repository
02bb8761fcce Initial load
duke
parents:
diff changeset
   830
API.
02bb8761fcce Initial load
duke
parents:
diff changeset
   831
02bb8761fcce Initial load
duke
parents:
diff changeset
   832
<P>An ORB does not require that there be an interface repository, and Java
02bb8761fcce Initial load
duke
parents:
diff changeset
   833
IDL does not include one. Even though this release does not include an
02bb8761fcce Initial load
duke
parents:
diff changeset
   834
implementation of an interface repository, the following IR classes and
02bb8761fcce Initial load
duke
parents:
diff changeset
   835
interfaces have been included for the purpose of creating typecodes (see
02bb8761fcce Initial load
duke
parents:
diff changeset
   836
create_value_tc, create_struct_tc, create_union_tc and create_exception_tc
02bb8761fcce Initial load
duke
parents:
diff changeset
   837
methods in interface org.omg.CORBA.ORB):
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   838
<BR>&nbsp;
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   839
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   840
<LI>
02bb8761fcce Initial load
duke
parents:
diff changeset
   841
IRObject
02bb8761fcce Initial load
duke
parents:
diff changeset
   842
02bb8761fcce Initial load
duke
parents:
diff changeset
   843
<LI>
02bb8761fcce Initial load
duke
parents:
diff changeset
   844
IDLType
02bb8761fcce Initial load
duke
parents:
diff changeset
   845
02bb8761fcce Initial load
duke
parents:
diff changeset
   846
<LI>
02bb8761fcce Initial load
duke
parents:
diff changeset
   847
DefinitionKind
02bb8761fcce Initial load
duke
parents:
diff changeset
   848
02bb8761fcce Initial load
duke
parents:
diff changeset
   849
<LI>
02bb8761fcce Initial load
duke
parents:
diff changeset
   850
StructMember
02bb8761fcce Initial load
duke
parents:
diff changeset
   851
02bb8761fcce Initial load
duke
parents:
diff changeset
   852
<LI>
02bb8761fcce Initial load
duke
parents:
diff changeset
   853
UnionMember
02bb8761fcce Initial load
duke
parents:
diff changeset
   854
02bb8761fcce Initial load
duke
parents:
diff changeset
   855
<LI>
02bb8761fcce Initial load
duke
parents:
diff changeset
   856
ValueMember
02bb8761fcce Initial load
duke
parents:
diff changeset
   857
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   858
<!-- End Page Data -->
02bb8761fcce Initial load
duke
parents:
diff changeset
   859
<HR>
02bb8761fcce Initial load
duke
parents:
diff changeset
   860
<H1>
02bb8761fcce Initial load
duke
parents:
diff changeset
   861
Related Documentation</H1>
02bb8761fcce Initial load
duke
parents:
diff changeset
   862
For overviews, guides, and a tutorial, please see:
02bb8761fcce Initial load
duke
parents:
diff changeset
   863
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   864
<LI>
02bb8761fcce Initial load
duke
parents:
diff changeset
   865
<A HREF="{@docRoot}/../technotes/guides/idl/index.html">Java IDL home page</A>
02bb8761fcce Initial load
duke
parents:
diff changeset
   866
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   867
02bb8761fcce Initial load
duke
parents:
diff changeset
   868
02bb8761fcce Initial load
duke
parents:
diff changeset
   869
02bb8761fcce Initial load
duke
parents:
diff changeset
   870
02bb8761fcce Initial load
duke
parents:
diff changeset
   871
<P><A NAME="unimpl"></A>
02bb8761fcce Initial load
duke
parents:
diff changeset
   872
<H1>
02bb8761fcce Initial load
duke
parents:
diff changeset
   873
CORBA Features Not Implemented in Java IDL</H1>
02bb8761fcce Initial load
duke
parents:
diff changeset
   874
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   875
<P>Some of the API included in <code>org.omg</code> subpackages is provided for
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   876
conformance with the current OMG CORBA specification but is not implemented
02bb8761fcce Initial load
duke
parents:
diff changeset
   877
in Sun's release of the JDK<SUP><FONT SIZE=-2>TM</FONT></SUP>. This enables
02bb8761fcce Initial load
duke
parents:
diff changeset
   878
other JDK licensees to provide implementations of this API in standard
02bb8761fcce Initial load
duke
parents:
diff changeset
   879
extensions and products.
02bb8761fcce Initial load
duke
parents:
diff changeset
   880
02bb8761fcce Initial load
duke
parents:
diff changeset
   881
<P><A NAME="NO_IMPLEMENT"></A>
02bb8761fcce Initial load
duke
parents:
diff changeset
   882
<h2>Features That Throw NO_IMPLEMENT</h2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   883
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   884
<P>Some of the API included in <code>org.omg</code> subpackages throw
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   885
<code>NO_IMPLEMENT</code> exceptions for various reasons.  Among these reasons
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   886
are:
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   887
    <UL>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   888
    <LI>In some cases, for example <code>LocalObject</code>, the complete
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   889
    implementation according to the specification indicates that
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   890
    these API should throw <code>NO_IMPLEMENT</code>.
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   891
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   892
    <LI>In most cases, for example methods in <code>ORB.java</code>,
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   893
    methods that throw
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   894
    <code>NO_IMPLEMENT</code> are actually implemented in subclasses
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   895
    elsewhere in the ORB code.
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   896
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   897
    <LI>In some cases, for example <code>_get_interface_def()</code> 
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   898
    and <code>_get_interface</code>, API are really not yet implemented.
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
   899
    </UL>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   900
02bb8761fcce Initial load
duke
parents:
diff changeset
   901
02bb8761fcce Initial load
duke
parents:
diff changeset
   902
02bb8761fcce Initial load
duke
parents:
diff changeset
   903
02bb8761fcce Initial load
duke
parents:
diff changeset
   904
<H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   905
General Summary of Features or API Not Implemented in This Release:</H2>
02bb8761fcce Initial load
duke
parents:
diff changeset
   906
02bb8761fcce Initial load
duke
parents:
diff changeset
   907
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   908
<LI>
02bb8761fcce Initial load
duke
parents:
diff changeset
   909
Interface Repository. An Interface Repository is not required for normal
02bb8761fcce Initial load
duke
parents:
diff changeset
   910
operation of Java IDL.
02bb8761fcce Initial load
duke
parents:
diff changeset
   911
02bb8761fcce Initial load
duke
parents:
diff changeset
   912
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   913
Java IDL does not support <code>long double</code>.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   914
02bb8761fcce Initial load
duke
parents:
diff changeset
   915
02bb8761fcce Initial load
duke
parents:
diff changeset
   916
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   917
Policies (<code><a href="Policy.html">org.omg.CORBA.Policy</a></code>)
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   918
and methods for getting them are not implemented.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   919
02bb8761fcce Initial load
duke
parents:
diff changeset
   920
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   921
Domain managers (<code><a href="DomainManager.html">org.omg.CORBA.DomainManager</a></code>) and methods for
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   922
getting them are not implemented.
02bb8761fcce Initial load
duke
parents:
diff changeset
   923
02bb8761fcce Initial load
duke
parents:
diff changeset
   924
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   925
Service Information <code><a href="ServiceInformation.html">org.omg.CORBA.ServiceInformation</a></code>
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   926
and ORB method 
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   927
<code>public boolean get_service_information(short service_type, ServiceInformationHolder service_info)</code>
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   928
are not implemented.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   929
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   930
<LI>ORB methods for supporting single-threading
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   931
(<code>perform_work</code>, <code>work_pending</code>) are not implemented.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   932
02bb8761fcce Initial load
duke
parents:
diff changeset
   933
<LI>IDL contexts.
02bb8761fcce Initial load
duke
parents:
diff changeset
   934
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   935
02bb8761fcce Initial load
duke
parents:
diff changeset
   936
<HR>
02bb8761fcce Initial load
duke
parents:
diff changeset
   937
<H2>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   938
Specific List of Unimplemented Features in Package <code>org.omg.CORBA</code></H2>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   939
02bb8761fcce Initial load
duke
parents:
diff changeset
   940
02bb8761fcce Initial load
duke
parents:
diff changeset
   941
<H3>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   942
Unimplemented Methods in package <code>org.omg.CORBA</code>:</H3>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   943
02bb8761fcce Initial load
duke
parents:
diff changeset
   944
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   945
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   946
<code>ORB</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   947
02bb8761fcce Initial load
duke
parents:
diff changeset
   948
<UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   949
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   950
<code>public org.omg.CORBA.Policy create_policy(int type, org.omg.CORBA.Any val)</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   951
02bb8761fcce Initial load
duke
parents:
diff changeset
   952
02bb8761fcce Initial load
duke
parents:
diff changeset
   953
02bb8761fcce Initial load
duke
parents:
diff changeset
   954
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   955
<code>public void perform_work()</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   956
02bb8761fcce Initial load
duke
parents:
diff changeset
   957
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   958
<code>public boolean work_pending()</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   959
02bb8761fcce Initial load
duke
parents:
diff changeset
   960
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   961
<code>public org.omg.CORBA.Current get_current()</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   962
02bb8761fcce Initial load
duke
parents:
diff changeset
   963
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   964
<code>create_operation_list</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   965
02bb8761fcce Initial load
duke
parents:
diff changeset
   966
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   967
<code>get_default_context</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   968
02bb8761fcce Initial load
duke
parents:
diff changeset
   969
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   970
<code>get_service_information</code>
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   971
02bb8761fcce Initial load
duke
parents:
diff changeset
   972
<LI>
32688
936c391804a5 8133650: replace some <tt> tags (obsolete in html5) in CORBA docs
avstepan
parents: 29827
diff changeset
   973
obsolete <code>DynAnys</code> (deprecated in favor of <code>DynamicAny</code> package)
4
02bb8761fcce Initial load
duke
parents:
diff changeset
   974
02bb8761fcce Initial load
duke
parents:
diff changeset
   975
02bb8761fcce Initial load
duke
parents:
diff changeset
   976
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   977
02bb8761fcce Initial load
duke
parents:
diff changeset
   978
02bb8761fcce Initial load
duke
parents:
diff changeset
   979
02bb8761fcce Initial load
duke
parents:
diff changeset
   980
</UL>
02bb8761fcce Initial load
duke
parents:
diff changeset
   981
@since JDK1.2
02bb8761fcce Initial load
duke
parents:
diff changeset
   982
@serial exclude
02bb8761fcce Initial load
duke
parents:
diff changeset
   983
</BODY>
02bb8761fcce Initial load
duke
parents:
diff changeset
   984
</HTML>