<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
   <title>package</title>
<!--
/*
* Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.  Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/ 
-->
</head>
<body bgcolor="#FFFFFF">
The CORBA_2_3 package defines additions to existing CORBA interfaces
in the Java[tm] Standard Edition 6.&nbsp;&nbsp; These changes occurred in recent
revisions to the CORBA API defined by the OMG.&nbsp; The new methods were
added to&nbsp; interfaces derived from the corresponding interfaces in
the CORBA package.&nbsp; This provides backward compatibility and avoids
breaking the JCK tests.

<H3>Package Specification</H3>
 
<P>For a precise list of supported sections of official specifications with which 
the Java[tm] Platform, Standard Edition 6, ORB complies, see <A 
HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
support in Java[tm] SE 6</A>.
<P>
<a name="unimpl"></a>
The following methods in the abstract class 
<code>org.omg.CORBA_2_3.ORB</code> are unimplemented:
<UL>
  <code>
  <LI>public org.omg.CORBA.portable.ValueFactory 
  <b>register_value_factory(String id, org.omg.CORBA.portable.ValueFactory 
factory)</b>
  <LI>public void <b>unregister_value_factory(String id)</b>
  <LI>public org.omg.CORBA.portable.ValueFactory 
  <b>lookup_value_factory(String id)</b>
  <LI>public org.omg.CORBA.Object <b>get_value_def(String repid)</b>
  <LI>public void <b>set_delegate(java.lang.Object wrapper)</b>
  </code>
</UL>
@since JDK 1.3
<br>
@serial exclude

</body>
</html>
