summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/org/omg/CORBA
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-09-23 21:31:04 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-09-23 21:31:04 +0000
commit947b8814056ea2fba6bbcfab86591f74bffc0311 (patch)
tree3ca4b2e68dc14c3128b9c781d23f1d0b1f2bee49 /libjava/classpath/org/omg/CORBA
parent49792907376493f0939563eb0219b96a48f1ae3b (diff)
downloadppe42-gcc-947b8814056ea2fba6bbcfab86591f74bffc0311.tar.gz
ppe42-gcc-947b8814056ea2fba6bbcfab86591f74bffc0311.zip
Imported Classpath 0.18.
* sources.am, Makefile.in: Updated. * Makefile.am (nat_source_files): Removed natProxy.cc. * java/lang/reflect/natProxy.cc: Removed. * gnu/classpath/jdwp/VMFrame.java, gnu/classpath/jdwp/VMIdManager.java, gnu/classpath/jdwp/VMVirtualMachine.java, java/lang/reflect/VMProxy.java: New files. 2005-09-23 Thomas Fitzsimmons <fitzsim@redhat.com> * scripts/makemake.tcl (verbose): Add gnu/java/awt/peer/qt to BC list. 2005-09-23 Thomas Fitzsimmons <fitzsim@redhat.com> * gnu/java/net/DefaultContentHandlerFactory.java (getContent): Remove ClasspathToolkit references. 2005-09-23 Thomas Fitzsimmons <fitzsim@redhat.com> * gnu/awt/xlib/XCanvasPeer.java: Add new peer methods. * gnu/awt/xlib/XFramePeer.java: Likewise. * gnu/awt/xlib/XGraphicsConfiguration.java: Likewise. 2005-09-23 Thomas Fitzsimmons <fitzsim@redhat.com> * Makefile.am (libgcjawt_la_SOURCES): Remove jawt.c. Add classpath/native/jawt/jawt.c. * Makefile.in: Regenerate. * jawt.c: Remove file. * include/Makefile.am (tool_include__HEADERS): Remove jawt.h and jawt_md.h. Add ../classpath/include/jawt.h and ../classpath/include/jawt_md.h. * include/Makefile.in: Regenerate. * include/jawt.h: Regenerate. * include/jawt_md.h: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104586 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/org/omg/CORBA')
-rw-r--r--libjava/classpath/org/omg/CORBA/Any.java12
-rw-r--r--libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java59
-rw-r--r--libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java58
-rw-r--r--libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java58
-rw-r--r--libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java58
-rw-r--r--libjava/classpath/org/omg/CORBA/ORB.java209
-rw-r--r--libjava/classpath/org/omg/CORBA/ObjectHelper.java7
-rw-r--r--libjava/classpath/org/omg/CORBA/ObjectHolder.java17
-rw-r--r--libjava/classpath/org/omg/CORBA/ServiceDetailHelper.java13
-rw-r--r--libjava/classpath/org/omg/CORBA/TypeCode.java66
-rw-r--r--libjava/classpath/org/omg/CORBA/package.html106
-rw-r--r--libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java11
12 files changed, 415 insertions, 259 deletions
diff --git a/libjava/classpath/org/omg/CORBA/Any.java b/libjava/classpath/org/omg/CORBA/Any.java
index d8c892d218f..1e72709d202 100644
--- a/libjava/classpath/org/omg/CORBA/Any.java
+++ b/libjava/classpath/org/omg/CORBA/Any.java
@@ -51,7 +51,7 @@ import org.omg.CORBA.portable.IDLEntity;
public abstract class Any
implements Serializable, IDLEntity
{
- /**
+ /**
* Using v 1.4 serialVersionUID for interoperability.
*/
private static final long serialVersionUID = 1217179597823814463L;
@@ -312,12 +312,18 @@ public abstract class Any
public abstract void insert_TypeCode(TypeCode typecode);
/**
- * Insert the CORBA <code>Value</code> into this <code>Any</code>
+ * Insert the CORBA <code>Value</code> into this <code>Any</code>.
+ *
+ * The type of the Any should be set (by {@link #type(TypeCode)})
+ * before inserting the value.
*/
public abstract void insert_Value(Serializable x, TypeCode typecode);
/**
- * Insert the CORBA <code>Value</code> into this <code>Any</code>
+ * Insert the CORBA <code>Value</code> into this <code>Any</code>.
+ *
+ * The type of the Any should be set (by {@link #type(TypeCode)})
+ * before inserting the value.
*/
public abstract void insert_Value(Serializable x);
diff --git a/libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java b/libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java
index 68c71863826..dc66bea654b 100644
--- a/libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java
+++ b/libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java
@@ -1,39 +1,40 @@
/* Invalid.java --
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005 Free Software Foundation, Inc.
- This file is part of GNU Classpath.
+This file is part of GNU Classpath.
- GNU Classpath is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
- GNU Classpath 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 for more details.
+GNU Classpath 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 for more details.
- You should have received a copy of the GNU General Public License
- along with GNU Classpath; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA.
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
- Linking this library statically or dynamically with other modules is
- making a combined work based on this library. Thus, the terms and
- conditions of the GNU General Public License cover the whole
- combination.
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
- As a special exception, the copyright holders of this library give you
- permission to link this library with independent modules to produce an
- executable, regardless of the license terms of these independent
- modules, and to copy and distribute the resulting executable under
- terms of your choice, provided that you also meet, for each linked
- independent module, the terms and conditions of the license of that
- module. An independent module is a module which is not derived from
- or based on this library. If you modify this library, you may extend
- this exception to your version of the library, but you are not
- obligated to do so. If you do not wish to do so, delete this
- exception statement from your version. */
package org.omg.CORBA.DynAnyPackage;
diff --git a/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java b/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java
index ca13329392c..ef0179e9da2 100644
--- a/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java
+++ b/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java
@@ -1,39 +1,39 @@
/* InvalidSeq.java --
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005 Free Software Foundation, Inc.
- This file is part of GNU Classpath.
+This file is part of GNU Classpath.
- GNU Classpath is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
- GNU Classpath 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 for more details.
+GNU Classpath 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 for more details.
- You should have received a copy of the GNU General Public License
- along with GNU Classpath; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA.
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
- Linking this library statically or dynamically with other modules is
- making a combined work based on this library. Thus, the terms and
- conditions of the GNU General Public License cover the whole
- combination.
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
- As a special exception, the copyright holders of this library give you
- permission to link this library with independent modules to produce an
- executable, regardless of the license terms of these independent
- modules, and to copy and distribute the resulting executable under
- terms of your choice, provided that you also meet, for each linked
- independent module, the terms and conditions of the license of that
- module. An independent module is a module which is not derived from
- or based on this library. If you modify this library, you may extend
- this exception to your version of the library, but you are not
- obligated to do so. If you do not wish to do so, delete this
- exception statement from your version. */
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package org.omg.CORBA.DynAnyPackage;
diff --git a/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java b/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java
index bca6808c803..0c5ddf96d46 100644
--- a/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java
+++ b/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java
@@ -1,39 +1,39 @@
/* InvalidValue.java --
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005 Free Software Foundation, Inc.
- This file is part of GNU Classpath.
+This file is part of GNU Classpath.
- GNU Classpath is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
- GNU Classpath 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 for more details.
+GNU Classpath 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 for more details.
- You should have received a copy of the GNU General Public License
- along with GNU Classpath; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA.
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
- Linking this library statically or dynamically with other modules is
- making a combined work based on this library. Thus, the terms and
- conditions of the GNU General Public License cover the whole
- combination.
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
- As a special exception, the copyright holders of this library give you
- permission to link this library with independent modules to produce an
- executable, regardless of the license terms of these independent
- modules, and to copy and distribute the resulting executable under
- terms of your choice, provided that you also meet, for each linked
- independent module, the terms and conditions of the license of that
- module. An independent module is a module which is not derived from
- or based on this library. If you modify this library, you may extend
- this exception to your version of the library, but you are not
- obligated to do so. If you do not wish to do so, delete this
- exception statement from your version. */
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package org.omg.CORBA.DynAnyPackage;
diff --git a/libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java b/libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java
index 0de38edebb5..f4e9877c505 100644
--- a/libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java
+++ b/libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java
@@ -1,39 +1,39 @@
/* TypeMismatch.java --
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005 Free Software Foundation, Inc.
- This file is part of GNU Classpath.
+This file is part of GNU Classpath.
- GNU Classpath is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
- GNU Classpath 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 for more details.
+GNU Classpath 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 for more details.
- You should have received a copy of the GNU General Public License
- along with GNU Classpath; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA.
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
- Linking this library statically or dynamically with other modules is
- making a combined work based on this library. Thus, the terms and
- conditions of the GNU General Public License cover the whole
- combination.
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
- As a special exception, the copyright holders of this library give you
- permission to link this library with independent modules to produce an
- executable, regardless of the license terms of these independent
- modules, and to copy and distribute the resulting executable under
- terms of your choice, provided that you also meet, for each linked
- independent module, the terms and conditions of the license of that
- module. An independent module is a module which is not derived from
- or based on this library. If you modify this library, you may extend
- this exception to your version of the library, but you are not
- obligated to do so. If you do not wish to do so, delete this
- exception statement from your version. */
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package org.omg.CORBA.DynAnyPackage;
diff --git a/libjava/classpath/org/omg/CORBA/ORB.java b/libjava/classpath/org/omg/CORBA/ORB.java
index 5f10fba37c3..9163736eb97 100644
--- a/libjava/classpath/org/omg/CORBA/ORB.java
+++ b/libjava/classpath/org/omg/CORBA/ORB.java
@@ -39,10 +39,10 @@ exception statement from your version. */
package org.omg.CORBA;
import gnu.CORBA.Restricted_ORB;
-import gnu.CORBA.primitiveTypeCode;
import gnu.CORBA.fixedTypeCode;
import gnu.CORBA.generalTypeCode;
import gnu.CORBA.gnuContext;
+import gnu.CORBA.primitiveTypeCode;
import gnu.CORBA.recordTypeCode;
import gnu.CORBA.recursiveTypeCode;
@@ -118,13 +118,14 @@ public abstract class ORB
/**
* The class, implementing the default fully functional ORB.
*/
- private static final String DEFAULT_FUNCTIONAL_ORB = "gnu.CORBA.Functional_ORB";
+ private static final String DEFAULT_FUNCTIONAL_ORB =
+ gnu.CORBA.Poa.ORB_1_4.class.getName();
/**
* The class, implementing the default restricted ORB.
*/
- private static final String DEFAULT_RESTRICTED_ORB = "gnu.CORBA.Restricted_ORB";
-
+ private static final String DEFAULT_RESTRICTED_ORB =
+ gnu.CORBA.Restricted_ORB.class.getName();
/**
* Connect the given CORBA object to this ORB. After the object is
@@ -162,7 +163,6 @@ public abstract class ORB
throw new NO_IMPLEMENT();
}
-
/**
* Create alias typecode for the given typecode.
*/
@@ -204,10 +204,11 @@ public abstract class ORB
* @throws NO_IMPLEMENT, always.
*/
public DynAny create_basic_dyn_any(org.omg.CORBA.TypeCode t)
- throws InconsistentTypeCode
+ throws InconsistentTypeCode
{
throw new NO_IMPLEMENT();
- };
+ }
+ ;
/**
* The support for {@link DynAny} and derived interfaces
@@ -222,7 +223,8 @@ public abstract class ORB
public DynAny create_dyn_any(org.omg.CORBA.Any a)
{
throw new NO_IMPLEMENT();
- };
+ }
+ ;
/**
* The support for {@link DynArray}
@@ -235,10 +237,11 @@ public abstract class ORB
* @throws NO_IMPLEMENT, always.
*/
public DynArray create_dyn_array(org.omg.CORBA.TypeCode t)
- throws InconsistentTypeCode
- {
- throw new NO_IMPLEMENT();
- };
+ throws InconsistentTypeCode
+ {
+ throw new NO_IMPLEMENT();
+ }
+ ;
/**
* The support for {@link DynEnum}
@@ -251,10 +254,11 @@ public abstract class ORB
* @throws NO_IMPLEMENT, always.
*/
public DynEnum create_dyn_enum(org.omg.CORBA.TypeCode t)
- throws InconsistentTypeCode
+ throws InconsistentTypeCode
{
throw new NO_IMPLEMENT();
- };
+ }
+ ;
/**
* The support for {@link DynSequence}
@@ -267,10 +271,11 @@ public abstract class ORB
* @throws NO_IMPLEMENT, always.
*/
public DynSequence create_dyn_sequence(org.omg.CORBA.TypeCode t)
- throws InconsistentTypeCode
+ throws InconsistentTypeCode
{
throw new NO_IMPLEMENT();
- };
+ }
+ ;
/**
* The support for {@link DynStruct} and derived interfaces
@@ -283,10 +288,11 @@ public abstract class ORB
* @throws NO_IMPLEMENT, always.
*/
public DynStruct create_dyn_struct(org.omg.CORBA.TypeCode t)
- throws InconsistentTypeCode
+ throws InconsistentTypeCode
{
throw new NO_IMPLEMENT();
- };
+ }
+ ;
/**
* The support for {@link DynUnion} and derived interfaces
@@ -299,10 +305,11 @@ public abstract class ORB
* @throws NO_IMPLEMENT, always.
*/
public DynUnion create_dyn_union(org.omg.CORBA.TypeCode t)
- throws InconsistentTypeCode
+ throws InconsistentTypeCode
{
throw new NO_IMPLEMENT();
- };
+ }
+ ;
/**
* Create a typecode, defining the given enumeration.
@@ -442,8 +449,7 @@ public abstract class ORB
* particular transaction.
*/
public abstract Request get_next_response()
- throws WrongTransaction;
-
+ throws WrongTransaction;
/**
* Create a new CDR output stream, where the parameter values can be written
@@ -473,16 +479,26 @@ public abstract class ORB
}
/**
- * This should create the new policy with the specified type and initial
- * state. The policies and methods for getting them are not implemented till
- * v1.4 inclusive.
+ * <p>Creates the new policy of the specified type, having the given value.
+ * This method looks for the policy factory that was previously registered
+ * during ORB initialization by
+ * {@link org.omg.PortableInterceptor.ORBInitialiser}.
*
+ * If the suitable factory is found, this factory creates the requested policy,
+ * otherwise the PolicyError is thrown.
+ * </p><p>
+ * The POA policies should be created by POA, not by this method.
+ * </p>
* @param type the policy type.
- * @param value the policy value.
+ * @param value the policy value, wrapped into Any.
*
- * @return never
+ * @throws PolicyError if the ORB fails to instantiate the policy object.
*
- * @throws NO_IMPLEMENT, always.
+ * @throws NO_IMPLEMENT always (in this class). Overridden in derived classes
+ * returned by ORB.init(..).
+ *
+ * @see org.omg.PortableInterceptor.ORBInitInfoOperations#register_policy_factory
+ * @see org.omg.PortableInterceptor.PolicyFactoryOperations
*/
public Policy create_policy(int type, Any value)
throws PolicyError
@@ -490,8 +506,6 @@ public abstract class ORB
throw new NO_IMPLEMENT();
}
-
-
/**
* Create typecode, defining the sequence of the elements, having
* the given type.
@@ -554,7 +568,6 @@ public abstract class ORB
*/
public abstract TypeCode create_wstring_tc(int bound);
-
/**
* Create a typecode for an abstract interface. The abstract interface
* can be either CORBA object or CORBA value type.
@@ -675,15 +688,19 @@ public abstract class ORB
/**
* This should return the information, related to the current thread.
+ * The information is needed, for instance, to get the current object
+ * from the code that serves several objects in parallel threads.
* The {@link Current} is very general interface, with no fields and
* operations defined. This method is not implemented in Suns
- * releases at least till v1.4 inclusive.
+ * releases at least till v1.5 inclusive. To obtain the
+ * {@link org.omg.PortableServer.Current}, use
+ * {@link #resolve_initial_references}, passing "POACurrent".
*
- * @deprecated since 1.2
+ * @deprecated since 1.2, use {@link #resolve_initial_references}.
*
* @return never
*
- * @throws NO_IMPLEMENT, always.
+ * @throws NO_IMPLEMENT always.
*/
public Current get_current()
{
@@ -693,7 +710,7 @@ public abstract class ORB
/**
* This should return the information about the CORBA facilities and
* services, available from this ORB. However this method is oficially
- * documented as not implemented at least till v1.4 inclusive.
+ * documented as not implemented at least till v1.5 inclusive.
*
* @param service_type a type of the service being requested. The OMG
* specification currently defines only one value, 1, for security
@@ -705,10 +722,11 @@ public abstract class ORB
* @return should return true if the service information is available
* from the ORB, but this method never returns.
*
- * @throws NO_IMPLEMENT, always.
+ * @throws NO_IMPLEMENT always.
*/
public boolean get_service_information(short service_type,
- ServiceInformationHolder service_info)
+ ServiceInformationHolder service_info
+ )
{
throw new NO_IMPLEMENT();
}
@@ -846,7 +864,44 @@ public abstract class ORB
* Find and return the easily accessible CORBA object, addressed
* by name. The returned object is typically casted to the more
* specific reference using the <code>narrow(Object)</code> method
- * of its helper.
+ * of its helper. The method resolves the following string values,
+ * returning the working objects:
+ * <table border="1"><tr><th>String</th><th>Object class</th>
+ * <th>Object use</th></tr>
+ *
+ * <tr><td>NameService</td><td>{@link org.omg.CosNaming.NamingContextExt}</td>
+ * <td>Finds (usually remote) object by its name.</td></tr>
+ *
+ * <tr><td>RootPOA</td><td>{@link org.omg.PortableServer.POA}</td>
+ * <td>Holds the POA tree for this ORB, where since 1.4 all servants
+ * should be connected.</td></tr>
+ *
+ * <tr><td>RootPOAManager</td><td>{@link org.omg.PortableServer.POAManager}
+ * </td><td>Regulates (suspends/resumes) the root POA
+ * activity</td></tr>
+ *
+ * <tr><td>POACurrent</td><td>{@link org.omg.PortableServer.Current}
+ * </td><td>Informs the current thread about the Id and POA of the
+ * object being currently served (the methods of
+ * <code>Current</code> return different values for
+ * different threads).
+ * </td></tr>
+ *
+ * <tr><td>CodecFactory</td><td>{@link org.omg.IOP.Codec}</td>
+ * <td>Encodes/decodes IDL data types into/from byte arrays.</td>
+ * </tr>
+ *
+ * <tr><td>DynAnyFactory</td><td>{@link org.omg.DynamicAny.DynAnyFactory}</td>
+ * <td>Creates DynAny's.</td>
+ * </tr>
+ *
+ * <tr><td>PICurrent</td><td>{@link org.omg.PortableInterceptor.Current}</td>
+ * <td>Contains multiple slots where an interceptor can rememeber the
+ * request - specific values between subsequent
+ * calls of the interceptor methods.</td>
+ * </tr>
+ *
+ * </table>
*
* @param name the object name.
* @return the object
@@ -887,36 +942,80 @@ public abstract class ORB
{
}
- /**
- * Checks if the ORB needs the main thread to perform some work.
- * The method should return true if the ORB needs the main thread,
- * and false if it does not.
- *
- * This method is part of the support for the distribute use of the
- * single execution thread.
- *
- * Same as in Suns releases at least till 1.4 inclusive,
- * the distributed use of the single thread is not implemented.
- * Use multiple threads, provided by jre.
- *
- * @return false, always.
- */
+ /**
+ * Checks if the ORB needs the main thread to perform some work.
+ * The method should return true if the ORB needs the main thread,
+ * and false if it does not.
+ *
+ * This method is part of the support for the distribute use of the
+ * single execution thread.
+ *
+ * Same as in Suns releases at least till 1.4 inclusive,
+ * the distributed use of the single thread is not implemented.
+ * Use multiple threads, provided by jre.
+ *
+ * @return false, always.
+ */
public boolean work_pending()
{
return false;
}
/**
- * Find and return the CORBA object, addressed by the given
- * IOR string representation. The object can (an usually is)
+ * <p>Find and return the CORBA object, addressed by the given
+ * string representation. The object can be (an usually is)
* located on a remote computer, possibly running a different
* (not necessary java) CORBA implementation. The returned
* object is typically casted to the more specific reference
* using the <code>narrow(Object)</code> method of its helper.
+ * </p><p>
+ * This function supports the following input formats:<br>
+ * 1. IOR reference (<b>ior:</b>nnnnn ..), usually computer generated.<br>
+ * 2. <b>corbaloc:</b>[<b>iiop</b>][version.subversion<b>@</b>]<b>:</b>host[<b>:</b>port]<b>/</b><i>key</i>
+ * defines similar information as IOR reference, but is more human readable.
+ * This type of reference may also contain multiple addresses (see
+ * OMG documentation for complete format).<br>
+ * 3. <b>corbaloc:rir:/</b><i>name</i> defines internal reference on this
+ * ORB that is resolved using {@link #resolve_initial_references}, passing
+ * the given <i>name</i> as parameter.<br>
+ * 4. <b>corbaname:rir:#</b><i>name</i> states that the given <i>name</i>
+ * must be resolved using the naming service, default for this ORB.<br>
+ * 5. <b>corbaname:</b>[<b>iiop</b>][version.subversion<b>@</b>]<b>:</b>host[<b>:</b>port]<b>#</b><i>name</i>
+ * states that the <i>name</i> must be resolved using the naming service
+ * that runs on the given host at the given port. The ORB expects to find
+ * there the {@link org.omg.CosNaming.NamingContext} under the key
+ * "NameService.<br>
+ *
+ * <p>The default port is always 2809. The default iiop version is 1.0
+ * that now may not always be supported, so we would recommend to specify
+ * the version explicitly.</p>
+ * <p>
+ * The examples of the corbaloc and corbaname addresses:<br>
+ * corbaname:rir:#xobj - ask local naming service for "xobj".<br>
+ * corbaname:rir:/NameService#xobj - same (long form).<br>
+ * corbaname:iiop:1.2@localhost:900#xobj - same, assuming that the naming
+ * service runs at port 900 on the local host and supports iiop 1.2.<br>
+ * corbaname:iiop:localhost#xobj - same, assuming that the naming
+ * service runs at port 2809 on the local host and supports iiop 1.0.<br>
+ * corbaloc::gnu.xxx.yy/Prod/TradingService - the object exists on the
+ * host gnu.xxx.yy, port 2809 having the key "Prod/TradingService". Its ORB
+ * supports iiop 1.0.<br>
+ * corbaloc::gnu.xxx.yy/Prod/TradingService:801 - the object exists on the
+ * host gnu.xxx.yy, port 801 having the key "Prod/TradingService". Its ORB
+ * supports iiop 1.0 (iiop keyword ommitted).<br>
+ * corbaloc:iiop:1.1@gnu.xxx.yy/Prod/TradingService - the object exists on the
+ * host gnu.xxx.yy, port 801 having the key "Prod/TradingService". Its ORB
+ * supports iiop 1.1.<br>
+ * corbaloc:rir:/NameService - the default naming service.
*
* @param IOR the object IOR representation string.
*
* @return the found CORBA object.
+ *
+ * @throws BAD_PARAM if the string being parsed is invalid.
+ * @throws DATA_CONVERSION if the string being parsed contains unsupported
+ * prefix or protocol.
+ *
* @see object_to_string(org.omg.CORBA.Object)
*/
public abstract Object string_to_object(String IOR);
@@ -1098,4 +1197,4 @@ public abstract class ORB
why
);
}
-}
+} \ No newline at end of file
diff --git a/libjava/classpath/org/omg/CORBA/ObjectHelper.java b/libjava/classpath/org/omg/CORBA/ObjectHelper.java
index 0e0efa51efd..1324c621f2b 100644
--- a/libjava/classpath/org/omg/CORBA/ObjectHelper.java
+++ b/libjava/classpath/org/omg/CORBA/ObjectHelper.java
@@ -50,10 +50,7 @@ import org.omg.CORBA.portable.OutputStream;
*/
public abstract class ObjectHelper
{
- /**
- * The cached binding list type code.
- */
- private static TypeCode typeCode = new primitiveTypeCode(TCKind.tk_objref);
+ static TypeCode typeCode;
/**
* Extract the array of object from the given {@link Any}.
@@ -100,6 +97,8 @@ public abstract class ObjectHelper
*/
public static TypeCode type()
{
+ if (typeCode == null)
+ typeCode = ORB.init().get_primitive_tc(TCKind.tk_objref);
return typeCode;
}
diff --git a/libjava/classpath/org/omg/CORBA/ObjectHolder.java b/libjava/classpath/org/omg/CORBA/ObjectHolder.java
index 02526bee1dd..27ae674167a 100644
--- a/libjava/classpath/org/omg/CORBA/ObjectHolder.java
+++ b/libjava/classpath/org/omg/CORBA/ObjectHolder.java
@@ -39,6 +39,7 @@ exception statement from your version. */
package org.omg.CORBA;
import gnu.CORBA.primitiveTypeCode;
+import gnu.CORBA.recordTypeCode;
import org.omg.CORBA.portable.InputStream;
import org.omg.CORBA.portable.OutputStream;
@@ -59,10 +60,16 @@ public final class ObjectHolder
implements Streamable
{
/**
- * The default type code for this holder.
+ * The default type code for this holder if the object type code with
+ * the zero length string as id.
*/
- private static final TypeCode t_object =
- new primitiveTypeCode(TCKind.tk_objref);
+ private static final recordTypeCode t_object;
+
+ static
+ {
+ t_object = new recordTypeCode(TCKind.tk_objref);
+ t_object.setId("");
+ }
/**
* The <code>org.omg.CORBA.Object</code> (CORBA <code>Object</code>) value,
@@ -109,7 +116,7 @@ public final class ObjectHolder
*/
public TypeCode _type()
{
- return t_object;
+ return ObjectHelper.type();
}
/**
@@ -124,4 +131,4 @@ public final class ObjectHolder
{
output.write_Object(value);
}
-}
+} \ No newline at end of file
diff --git a/libjava/classpath/org/omg/CORBA/ServiceDetailHelper.java b/libjava/classpath/org/omg/CORBA/ServiceDetailHelper.java
index 37b4f835127..fe0135d975b 100644
--- a/libjava/classpath/org/omg/CORBA/ServiceDetailHelper.java
+++ b/libjava/classpath/org/omg/CORBA/ServiceDetailHelper.java
@@ -38,9 +38,10 @@ exception statement from your version. */
package org.omg.CORBA;
+import gnu.CORBA.ServiceDetailHolder;
+
import org.omg.CORBA.portable.InputStream;
import org.omg.CORBA.portable.OutputStream;
-import gnu.CORBA.*;
/**
* The helper operations on the Service Detail.
@@ -140,8 +141,8 @@ public abstract class ServiceDetailHelper
TypeCode type =
orb.create_alias_tc(_id, "ServiceDetailType",
- orb.get_primitive_tc(TCKind.tk_ulong)
- );
+ orb.get_primitive_tc(TCKind.tk_ulong)
+ );
members [ 0 ] = new StructMember("service_detail_type", type, null);
TypeCode data =
@@ -166,7 +167,7 @@ public abstract class ServiceDetailHelper
ostream.write_ulong(value.service_detail_type);
ostream.write_long(value.service_detail.length);
ostream.write_octet_array(value.service_detail, 0,
- value.service_detail.length
- );
+ value.service_detail.length
+ );
}
-}
+} \ No newline at end of file
diff --git a/libjava/classpath/org/omg/CORBA/TypeCode.java b/libjava/classpath/org/omg/CORBA/TypeCode.java
index 38fb0564fc9..a1ad3db9e61 100644
--- a/libjava/classpath/org/omg/CORBA/TypeCode.java
+++ b/libjava/classpath/org/omg/CORBA/TypeCode.java
@@ -38,11 +38,11 @@ exception statement from your version. */
package org.omg.CORBA;
-import java.io.Serializable;
-
import org.omg.CORBA.TypeCodePackage.BadKind;
import org.omg.CORBA.portable.IDLEntity;
+import java.io.Serializable;
+
/**
* An information about a CORBA data type.
* @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
@@ -57,10 +57,12 @@ public abstract class TypeCode
private static final long serialVersionUID = -6521025782489515676L;
/**
- * Returns the concrete base type for this TypeCode.
- * @return a TypeCode, defining the concrete base type for this
- * Typecode.
- * @throws org.omg.CORBA.TypeCodePackage.BadKind
+ * For value types that support inheritance this method returns the
+ * of the ancestor type code.
+ *
+ * @return the ancestor TypeCode.
+ *
+ * @throws BadKind for all typecodes except the value type typecodes.
*/
public abstract TypeCode concrete_base_type()
throws BadKind;
@@ -69,7 +71,7 @@ public abstract class TypeCode
* For sequences, arrays, aliases and value boxes, returns the IDL type for
* the members of the object.
* @return a TypeCode of the memebers of this type.
- * @throws org.omg.CORBA.TypeCodePackage.BadKind for types other than
+ * @throws BadKind for types other than
* sequences, arrays, aliases and value boxes.
*/
public abstract TypeCode content_type()
@@ -79,7 +81,7 @@ public abstract class TypeCode
* For unions, returs the index of the default member.
* @return the index of the default member, -1 if there is
* no default member.
- * @throws org.omg.CORBA.TypeCodePackage.BadKind if this type is not
+ * @throws BadKind if this type is not
* a union.
*/
public abstract int default_index()
@@ -88,15 +90,15 @@ public abstract class TypeCode
/**
* Returs definition of member labels for untions
* @return a TypeCode, describing all non-default member labels.
- * @throws org.omg.CORBA.TypeCodePackage.BadKind if this type is not a
+ * @throws BadKind if this type is not a
* union.
*/
public abstract TypeCode discriminator_type()
throws BadKind;
/**
- * Test two types for equality. The default implementation
- * returs true of the types of the same kind.
+ * Test two types for equality.
+ *
* @param other the other type to compere with
* @return true if the types are interchangeable.
*/
@@ -112,7 +114,7 @@ public abstract class TypeCode
/**
* For the fixed type, returns the number of digits.
* @return the number of digits for the fixed type
- * @throws org.omg.CORBA.TypeCodePackage.BadKind if this is not a fixed
+ * @throws BadKind if this is not a fixed
* type.
*/
public abstract short fixed_digits()
@@ -123,7 +125,7 @@ public abstract class TypeCode
* positive (the number of digits to the right of the decimal point) or
* negative (adds zeros to the left of the decimal point).
* @return the scale.
- * @throws org.omg.CORBA.TypeCodePackage.BadKind if this is not a fixed
+ * @throws BadKind if this is not a fixed
* type.
*/
public abstract short fixed_scale()
@@ -140,7 +142,7 @@ public abstract class TypeCode
* Returns the RepositoryId globally identifying the type, defined by
* this TypeCode.
* @return tje RepositoryId. In some cases, it may be an empty string.
- * @throws org.omg.CORBA.TypeCodePackage.BadKind if the type is other than
+ * @throws BadKind if the type is other than
* reference, structure, union, enumeration, alias, exception, valuetype,
* boxed valuetype and also native and abstract interfaces.
*/
@@ -161,7 +163,7 @@ public abstract class TypeCode
*
* @return length or bound
*
- * @throws org.omg.CORBA.TypeCodePackage.BadKind for types other than
+ * @throws BadKind for types other than
* string, sequence and array.
*/
public abstract int length()
@@ -171,7 +173,7 @@ public abstract class TypeCode
* Returns the number of type memebers.
*
* @return the number of memebers
- * @throws org.omg.CORBA.TypeCodePackage.BadKind for types other than
+ * @throws BadKind for types other than
* structure, union, enumeration or exception.
*/
public abstract int member_count()
@@ -185,14 +187,14 @@ public abstract class TypeCode
*
* @return the label
*
- * @throws org.omg.CORBA.TypeCodePackage.BadKind if this is not a union
+ * @throws BadKind if this is not a union
* type.
* @throws org.omg.CORBA.TypeCodePackage.Bounds if the index is out of
* valid bounds.
*/
public abstract Any member_label(int index)
- throws BadKind,
- org.omg.CORBA.TypeCodePackage.Bounds;
+ throws BadKind,
+ org.omg.CORBA.TypeCodePackage.Bounds;
/**
* Retrieves the simple name of the member identified by the given index.
@@ -201,14 +203,14 @@ public abstract class TypeCode
*
* @return the member name that in some cases can be an empty string.
*
- * @throws org.omg.CORBA.TypeCodePackage.BadKind for types other than
+ * @throws BadKind for types other than
* structure, union or enumeration.
* @throws org.omg.CORBA.TypeCodePackage.Bounds if the index is out of
* valid bounds.
*/
public abstract String member_name(int index)
- throws BadKind,
- org.omg.CORBA.TypeCodePackage.Bounds;
+ throws BadKind,
+ org.omg.CORBA.TypeCodePackage.Bounds;
/**
* Retrieves the member type of the member identified by the given index.
@@ -217,14 +219,14 @@ public abstract class TypeCode
*
* @return the member type.
*
- * @throws org.omg.CORBA.TypeCodePackage.BadKind for types other than
+ * @throws BadKind for types other than
* structure, union, enumeration or exception.
* @throws org.omg.CORBA.TypeCodePackage.Bounds if the index is out of
* valid bounds.
*/
public abstract TypeCode member_type(int index)
- throws BadKind,
- org.omg.CORBA.TypeCodePackage.Bounds;
+ throws BadKind,
+ org.omg.CORBA.TypeCodePackage.Bounds;
/**
* Returns the visibility scope of the member at the given index.
@@ -234,22 +236,21 @@ public abstract class TypeCode
*
* @return either PRIVATE_MEMBER.value or PUBLIC_MEMBER.value
*
- * @throws org.omg.CORBA.TypeCodePackage.BadKind if this is not a non boxed
+ * @throws BadKind if this is not a non boxed
* value type.
*
* @throws org.omg.CORBA.TypeCodePackage.Bounds if the index is out of
* valid bounds.
*/
public abstract short member_visibility(int index)
- throws BadKind,
- org.omg.CORBA.TypeCodePackage.Bounds;
-
+ throws BadKind,
+ org.omg.CORBA.TypeCodePackage.Bounds;
/**
* Retrieves the simple name identifying this TypeCode object
* within its enclosing scope.
* @return the name, can be an empty string.
- * @throws org.omg.CORBA.TypeCodePackage.BadKind for typer other than
+ * @throws BadKind for typer other than
* reference, structure, union, enumeration, alias, exception,
* valuetype, boxed valuetype, native, and abstract interface
*/
@@ -263,9 +264,8 @@ public abstract class TypeCode
* VM_NONE.value, VM_ABSTRACT.value, VM_CUSTOM.value, or
* VM_TRUNCATABLE.value,
*
- * @throws org.omg.CORBA.TypeCodePackage.BadKind for types other than
- * value type.
+ * @throws BadKind for all types other than value type.
*/
public abstract short type_modifier()
throws BadKind;
-}
+} \ No newline at end of file
diff --git a/libjava/classpath/org/omg/CORBA/package.html b/libjava/classpath/org/omg/CORBA/package.html
index 8fe9acf5d3d..3815b19b0ea 100644
--- a/libjava/classpath/org/omg/CORBA/package.html
+++ b/libjava/classpath/org/omg/CORBA/package.html
@@ -40,41 +40,81 @@ exception statement from your version. -->
<head><title>GNU Classpath - org.omg.CORBA</title></head>
<body>
-This package provides the support of <a href="www.omg.org">OMG</a>
-<a href="www.CORBA.org">CORBA</a>; see <a href="#overview">overview</a>
-of the implemented functionality. CORBA is an open, vendor independent
-system that applications use to work together over networks. Thie purpose
-of this package is to provide CORBA APIs to java programming language,
-including the fully functional Object Request Broker ({@link org.omg.CORBA.ORB}).
-
+This package provides the support of <a href="http://www.CORBA.org">CORBA</a>;
+see <a href="#overview">overview</a> of the implemented functionality.
+<p>
+CORBA a system that applications use to work over networks. CORBA messages
+are binary, not text oriented. They practically cary no "data wrapping"
+information like XML &lt;opening&gt; &lt;/closing&gt; tags. Hence CORBA
+objects easier exchange large amounts of binary data. CORBA can work
+in such data-intensive application areas as telecommunications or radio
+broadcasting. Java programs connect to CORBA objects without care
+about what platform they run on, where they exist in the network, or what
+language they were written in. The remote CORBA objects appear to the
+programmer as the ordinary Java objects and can be passed as
+parameters in both remote or local method invocations.
+</p><p>
+The CORBA processing unit is divided into {@link org.omg.CORBA.Object}
+that is exposed to the client and the servant
+({@link org.omg.PortableServer.Servant} where the method, invoked on
+object, is finally delegated. It can be multiple objects per servant or
+multiple servants per object. The servant for particular object or
+even particular call can be dynamically chosen at run time using
+{@link org.omg.PortableServer.ServantManager}.
+</p><p>
+All stages of both local and remote invocations on CORBA objects can be
+monitored and modified using {@link org.omg.PortableInterceptor.Interceptor}.
+The interceptors can add an extra data to the CORBA message (these data
+can be later accessed by other interceptor on remote side).
+</p>
<a name="overview">
<h4>Overview of the currently implemented CORBA functionality</h4>
-<p>The CORBA implementation in the Classpath project is now a working prototype.
- This prototype is interoperable with Sun's implementation v 1.4, transferring
- object references, primitive types, narrow and wide strings, arrays, structures
- and trees between these two platforms. The thrown exceptions are also transferred
- and handled. The support for stringified object references (IORs) is implemented.
- The redirection commands works, LOCATION_FORWARD_PERM changing the target address
- until the application is restarted and LOCATION_FORWARD redirecting for the
- current session only. Both Little and Big Endian encoded messages
- are accepted. The encoding of the sent messages is the same as used in the
- stringified IOR reference of that object or Big Endian, if no such data
- available.
- </p>
- <p>
- The current release supports the Value types that appeared since v 1.3 and are
- something between CORBA structures (no methods, data local) and CORBA objects
- (both methods and data remote). Value type has local data, can have
- local methods and is transferred by value, not by IOR reference.
- </p>
- <p>
- You can use both request-oriented (based on {@link org.omg.CORBA.Request})
- and stream-oriented (based on {@link org.omg.CORBA.portable.ObjectImpl})
- invocation models. The current release includes the working examples, demonstrating
- the client-server communication using both methods. These examples also show,
- how to use the Classpath naming service. The IDL compiler is not yet written,
- but as a side effect of the required compatibility, the implementation seems
- accepting the output of the Sun's 1.3 idlj.</p>
+The CORBA implementation in the Classpath project is now a working
+prototype.
+<ul>
+<li>This prototype is interoperable with Sun's implementation v 1.4,
+transferring object references, primitive types, narrow and wide strings,
+arrays, structures and trees between these two platforms.
+</li>
+<li>The prototype provides interoperable support for the Abstract interface
+ and Value types. Those appear in 1.3, being a feature of CORBA 2.3.
+</li>
+<li>The remote exceptions are also transferred and handled as expected.
+</li>
+<li>The support for parsing stringified object references (IORs), both
+Big and Little Endian encoded, is implemented.
+</li>
+<li>The redirection commands works, LOCATION_FORWARD_PERM changing the
+target address until the application is restarted and LOCATION_FORWARD
+redirecting for the current session only.
+</li>
+<li>Both Little and Big Endian encoded messages are accepted. The encoding
+of the sent messages is the same as used in the stringified IOR reference
+of that object or Big Endian, if no such data available.
+</li>
+<li>You can use both request-oriented (based on {@link org.omg.CORBA.Request}
+and stream-oriented (based on {@link org.omg.CORBA.portable.ObjectImpl}
+invocation models. The current release includes the working examples,
+demonstrating the client-server communication using both methods.
+</li>
+<li>These examples also show, how to use the Classpath naming service.
+</li>
+<li>The IDL compiler is not yet written (and not even started), but as a
+ side effect of the required compatibility, the implementation seems
+accepting the output of the Sun's idlj.
+</li>
+<li>The Portable Object Adapter is already released. For details on POA,
+see the {@link org.omg.PortableServer} package.</li>
+<li>We provide the implementation of the {@link org.omg.DynamicAny}
+package. ORB returns the working DynAnyFactory that produces working
+DynAny's as defined in OMG specification.</li>
+<li>The Portable Interceptor is also complete. See
+{@link org.omg.PortableInterceptor} package for details how to register
+and use CORBA interceptors.
+<li>All GNU Classpath classes in omg.org namespace are newly written using
+ the OMG .pdf document (Version 3.0.3, formal/04-03-12).
+</li>
+</ul>
@author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
</body>
diff --git a/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java b/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java
index c3f30cf948f..3cf1f49770d 100644
--- a/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java
+++ b/libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java
@@ -185,7 +185,6 @@ public abstract class ObjectImpl
/**
* Invoke the operation.
*
- * @param target the invocation target.
* @param output the stream, containing the written arguments.
*
* @return the stream, from where the input parameters could be read.
@@ -286,7 +285,8 @@ public abstract class ObjectImpl
*/
public void _releaseReply(InputStream stream)
{
- delegate.releaseReply(this, stream);
+ if (delegate != null)
+ delegate.releaseReply(this, stream);
}
/**
@@ -387,7 +387,10 @@ public abstract class ObjectImpl
*/
public boolean equals(java.lang.Object other)
{
- return delegate.equals(this, other);
+ if (delegate == null)
+ return this == other;
+ else
+ return delegate.equals(this, other);
}
/**
@@ -399,4 +402,4 @@ public abstract class ObjectImpl
{
return delegate.toString(this);
}
-}
+} \ No newline at end of file
OpenPOWER on IntegriCloud