diff options
Diffstat (limited to 'libjava/classpath/org/omg/PortableServer/ServantActivatorHelper.java')
-rw-r--r-- | libjava/classpath/org/omg/PortableServer/ServantActivatorHelper.java | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/libjava/classpath/org/omg/PortableServer/ServantActivatorHelper.java b/libjava/classpath/org/omg/PortableServer/ServantActivatorHelper.java index 1aab99cee4c..8aa58b2f627 100644 --- a/libjava/classpath/org/omg/PortableServer/ServantActivatorHelper.java +++ b/libjava/classpath/org/omg/PortableServer/ServantActivatorHelper.java @@ -38,7 +38,10 @@ exception statement from your version. */ package org.omg.PortableServer; +import gnu.CORBA.Minor; + import org.omg.CORBA.Any; +import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.MARSHAL; import org.omg.CORBA.ORB; @@ -112,6 +115,26 @@ public abstract class ServantActivatorHelper throw bad; } } + + /** + * Narrow the given object to the ServantActivator. For the objects that are + * always local, this operation does not differ from the ordinary + * {@link #narrow} (ClassCastException will be thrown if narrowing something + * different). + * + * @param obj the object to cast. + * + * @return the casted ServantActivator. + * + * @since 1.5 + * + * @see OMG issue 4158. + */ + public static ServantActivator unchecked_narrow(org.omg.CORBA.Object obj) + { + return narrow(obj); + } + /** * This should read the servant activator, but it cannot be transferred @@ -125,7 +148,9 @@ public abstract class ServantActivatorHelper */ public static ServantActivator read(InputStream input) { - throw new MARSHAL(); + MARSHAL m = new MARSHAL("Inappropriate"); + m.minor = Minor.Inappropriate; + throw m; } /** @@ -140,6 +165,8 @@ public abstract class ServantActivatorHelper */ public static void write(OutputStream output, ServantActivator value) { - throw new MARSHAL(); + MARSHAL m = new MARSHAL("Inappropriate"); + m.minor = Minor.Inappropriate; + throw m; } }
\ No newline at end of file |