summaryrefslogtreecommitdiff
path: root/libjava/javax/rmi/CORBA
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/javax/rmi/CORBA')
-rw-r--r--libjava/javax/rmi/CORBA/ClassDesc.java55
-rw-r--r--libjava/javax/rmi/CORBA/ObjectImpl.java9
-rw-r--r--libjava/javax/rmi/CORBA/PortableRemoteObjectDelegate.java63
-rw-r--r--libjava/javax/rmi/CORBA/Stub.java120
-rw-r--r--libjava/javax/rmi/CORBA/StubDelegate.java65
-rw-r--r--libjava/javax/rmi/CORBA/SystemException.java4
-rw-r--r--libjava/javax/rmi/CORBA/Tie.java62
-rw-r--r--libjava/javax/rmi/CORBA/Util.java187
-rw-r--r--libjava/javax/rmi/CORBA/UtilDelegate.java84
-rw-r--r--libjava/javax/rmi/CORBA/ValueHandler.java63
10 files changed, 712 insertions, 0 deletions
diff --git a/libjava/javax/rmi/CORBA/ClassDesc.java b/libjava/javax/rmi/CORBA/ClassDesc.java
new file mode 100644
index 00000000000..052046df926
--- /dev/null
+++ b/libjava/javax/rmi/CORBA/ClassDesc.java
@@ -0,0 +1,55 @@
+/* ClassDesc.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+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 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., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 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.
+
+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 javax.rmi.CORBA;
+
+import java.io.Serializable;
+
+public class ClassDesc
+ implements Serializable
+{
+ /*
+ * The following is serialized form required by Java API Doc
+ */
+ private String repid;
+ private String codebase;
+
+ public ClassDesc()
+ {
+ }
+}
diff --git a/libjava/javax/rmi/CORBA/ObjectImpl.java b/libjava/javax/rmi/CORBA/ObjectImpl.java
new file mode 100644
index 00000000000..d76d673cede
--- /dev/null
+++ b/libjava/javax/rmi/CORBA/ObjectImpl.java
@@ -0,0 +1,9 @@
+package javax.rmi.CORBA;
+
+/** XXX - Stub till we have org.omg.CORBA */
+public class ObjectImpl
+{
+ public ObjectImpl _orb() { return null; }
+ public String object_to_string(ObjectImpl o)
+ throws javax.rmi.BAD_OPERATION { return null; }
+}
diff --git a/libjava/javax/rmi/CORBA/PortableRemoteObjectDelegate.java b/libjava/javax/rmi/CORBA/PortableRemoteObjectDelegate.java
new file mode 100644
index 00000000000..a073cf4705c
--- /dev/null
+++ b/libjava/javax/rmi/CORBA/PortableRemoteObjectDelegate.java
@@ -0,0 +1,63 @@
+/* PortableRemoteObjectDelegate.java -- Interface supporting PortableRemoteObject
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+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 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., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 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.
+
+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 javax.rmi.CORBA;
+
+import java.rmi.*;
+
+/**
+ * A delegate is a singleton class that support delegation for method
+ * implementation in PortableRemoteObject.
+ */
+public interface PortableRemoteObjectDelegate
+{
+ void connect(Remote target, Remote source)
+ throws RemoteException;
+
+ void exportObject(Remote obj)
+ throws RemoteException;
+
+ Object narrow(Object narrowFrom, Class narrowTo)
+ throws ClassCastException;
+
+ Remote toStub(Remote obj)
+ throws NoSuchObjectException;
+
+ void unexportObject(Remote obj)
+ throws NoSuchObjectException;
+}
diff --git a/libjava/javax/rmi/CORBA/Stub.java b/libjava/javax/rmi/CORBA/Stub.java
new file mode 100644
index 00000000000..c79b85cb46e
--- /dev/null
+++ b/libjava/javax/rmi/CORBA/Stub.java
@@ -0,0 +1,120 @@
+/* Stub.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+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 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., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 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.
+
+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 javax.rmi.CORBA;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.rmi.RemoteException;
+//import org.omg.CORBA.ORB;
+//import org.omg.CORBA_2_3.portable.ObjectImpl;
+//import org.omg.CORBA.portable.ObjectImpl;
+import gnu.javax.rmi.CORBA.DelegateFactory;
+import gnu.javax.rmi.CORBA.GetDelegateInstanceException;
+
+public abstract class Stub extends ObjectImpl
+ implements Serializable
+{
+ private transient StubDelegate delegate;
+
+ protected Stub()
+ {
+ try
+ {
+ delegate = (StubDelegate)DelegateFactory.getInstance("Stub");
+ }
+ catch(GetDelegateInstanceException e)
+ {
+ delegate = null;
+ }
+ }
+
+ public int hashCode()
+ {
+ if(delegate != null)
+ return delegate.hashCode(this);
+ else
+ return 0;
+ }
+
+ public boolean equals(Object obj)
+ {
+ if(delegate != null)
+ return delegate.equals(this, obj);
+ else
+ return false;
+ }
+
+ public String toString()
+ {
+ String s = null;
+ if(delegate != null)
+ s = delegate.toString(this);
+ if(s == null)
+ s = super.toString();
+ return s;
+ }
+
+ // XXX javax.rmi.ORB -> org.omg.CORBA.ORB
+ public void connect(javax.rmi.ORB orb)
+ throws RemoteException
+ {
+ if(delegate != null)
+ delegate.connect(this, orb);
+ }
+
+ /**
+ * The following two routines are required by serialized form of Java API doc.
+ */
+ private void readObject(ObjectInputStream stream)
+ throws IOException, ClassNotFoundException
+ {
+ if(delegate != null)
+ delegate.readObject(this, stream);
+ }
+
+ private void writeObject(ObjectOutputStream stream)
+ throws IOException
+ {
+ if(delegate != null)
+ delegate.writeObject(this, stream);
+ }
+
+}
diff --git a/libjava/javax/rmi/CORBA/StubDelegate.java b/libjava/javax/rmi/CORBA/StubDelegate.java
new file mode 100644
index 00000000000..6c7f69fe7dc
--- /dev/null
+++ b/libjava/javax/rmi/CORBA/StubDelegate.java
@@ -0,0 +1,65 @@
+/* StubDelegate.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+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 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., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 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.
+
+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 javax.rmi.CORBA;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.rmi.RemoteException;
+//import org.omg.CORBA.ORB;
+
+public interface StubDelegate
+{
+
+ // XXX javax.rmi.ORB -> org.omg.CORBA.ORB
+ void connect(Stub self, javax.rmi.ORB orb)
+ throws RemoteException;
+
+ boolean equals(Stub self, Object obj);
+
+ int hashCode(Stub self);
+
+ void readObject(Stub self, ObjectInputStream s)
+ throws IOException, ClassNotFoundException;
+
+ String toString(Stub self);
+
+ void writeObject(Stub self, ObjectOutputStream s)
+ throws IOException;
+}
diff --git a/libjava/javax/rmi/CORBA/SystemException.java b/libjava/javax/rmi/CORBA/SystemException.java
new file mode 100644
index 00000000000..f8afdc35e35
--- /dev/null
+++ b/libjava/javax/rmi/CORBA/SystemException.java
@@ -0,0 +1,4 @@
+package javax.rmi.CORBA;
+
+/** XXX - Stub till we have org.omg.CORBA */
+public class SystemException extends Exception { }
diff --git a/libjava/javax/rmi/CORBA/Tie.java b/libjava/javax/rmi/CORBA/Tie.java
new file mode 100644
index 00000000000..ca14e3d4236
--- /dev/null
+++ b/libjava/javax/rmi/CORBA/Tie.java
@@ -0,0 +1,62 @@
+/* Tie.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+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 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., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 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.
+
+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 javax.rmi.CORBA;
+
+import java.rmi.Remote;
+//import org.omg.CORBA.ORB;
+//import org.omg.CORBA.portable.InvokeHandler;
+
+public interface Tie // XXX extends InvokeHandler
+{
+
+ void deactivate();
+
+ Remote getTarget();
+
+ // XXX javax.rmi.ORB -> org.omg.CORBA.ORB
+ javax.rmi.ORB orb();
+
+ // XXX javax.rmi.ORB -> org.omg.CORBA.ORB
+ void orb(javax.rmi.ORB orb);
+
+ void setTarget(Remote target);
+
+ // XXX Object -> org.omg.CORBA.Object
+ Object thisObject();
+}
diff --git a/libjava/javax/rmi/CORBA/Util.java b/libjava/javax/rmi/CORBA/Util.java
new file mode 100644
index 00000000000..45a189d97c5
--- /dev/null
+++ b/libjava/javax/rmi/CORBA/Util.java
@@ -0,0 +1,187 @@
+/* Util.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+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 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., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 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.
+
+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 javax.rmi.CORBA;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+import java.lang.Object;
+import java.io.*;
+//import org.omg.CORBA.*;
+//import org.omg.CORBA.portable.InputStream;
+//import org.omg.CORBA.portable.OutputStream;
+import gnu.javax.rmi.CORBA.DelegateFactory;
+import gnu.javax.rmi.CORBA.GetDelegateInstanceException;
+
+public class Util
+{
+
+ private static UtilDelegate delegate;
+ static
+ {
+ try
+ {
+ delegate = (UtilDelegate)DelegateFactory.getInstance("Util");
+ }
+ catch(GetDelegateInstanceException e)
+ {
+ delegate = null;
+ }
+ }
+
+ private Util()
+ {
+ }
+
+ // XXX - javax.rmi.ORB -> org.omg.CORBA.ORB
+ public static Object copyObject(Object obj, javax.rmi.ORB orb)
+ throws RemoteException
+ {
+ if(delegate != null)
+ return delegate.copyObject(obj, orb);
+ else
+ return null;
+ }
+
+ // XXX - javax.rmi.ORB -> org.omg.CORBA.ORB
+ public static Object[] copyObjects(Object obj[], javax.rmi.ORB orb)
+ throws RemoteException
+ {
+ if(delegate != null)
+ return delegate.copyObjects(obj, orb);
+ else
+ return null;
+ }
+
+ public static ValueHandler createValueHandler()
+ {
+ if(delegate != null)
+ return delegate.createValueHandler();
+ else
+ return null;
+ }
+
+ public static String getCodebase(Class clz)
+ {
+ if(delegate != null)
+ return delegate.getCodebase(clz);
+ else
+ return null;
+ }
+
+ public static Tie getTie(Remote target)
+ {
+ if(delegate != null)
+ return delegate.getTie(target);
+ else
+ return null;
+ }
+
+ public static boolean isLocal(Stub stub)
+ throws RemoteException
+ {
+ if(delegate != null)
+ return delegate.isLocal(stub);
+ else
+ return false;
+ }
+
+ public static Class loadClass(String className, String remoteCodebase, ClassLoader loader)
+ throws ClassNotFoundException
+ {
+ if(delegate != null)
+ return delegate.loadClass(className, remoteCodebase, loader);
+ else
+ throw new ClassNotFoundException(className + ": delegate == null");
+ }
+
+ public static RemoteException mapSystemException(SystemException ex)
+ {
+ if(delegate != null)
+ return delegate.mapSystemException(ex);
+ else
+ return null;
+ }
+
+ public static Object readAny(InputStream in)
+ {
+ if(delegate != null)
+ return delegate.readAny(in);
+ else
+ return null;
+ }
+
+ public static void registerTarget(Tie tie, Remote target)
+ {
+ if(delegate != null)
+ delegate.registerTarget(tie, target);
+ }
+
+ public static void unexportObject(Remote target)
+ {
+ if(delegate != null)
+ delegate.unexportObject(target);
+ }
+
+ public static RemoteException wrapException(Throwable orig)
+ {
+ if(delegate != null)
+ return delegate.wrapException(orig);
+ else
+ return null;
+ }
+
+ public static void writeAbstractObject(OutputStream out, Object obj)
+ {
+ if(delegate != null)
+ delegate.writeAbstractObject(out, obj);
+ }
+
+ public static void writeAny(OutputStream out, Object obj)
+ {
+ if(delegate != null)
+ delegate.writeAny(out, obj);
+ }
+
+ public static void writeRemoteObject(OutputStream out, Object obj)
+ {
+ if(delegate != null)
+ delegate.writeRemoteObject(out, obj);
+ }
+
+}
diff --git a/libjava/javax/rmi/CORBA/UtilDelegate.java b/libjava/javax/rmi/CORBA/UtilDelegate.java
new file mode 100644
index 00000000000..4d611bc8bfb
--- /dev/null
+++ b/libjava/javax/rmi/CORBA/UtilDelegate.java
@@ -0,0 +1,84 @@
+/* UtilDelegate.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+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 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., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 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.
+
+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 javax.rmi.CORBA;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+import java.io.*;
+//import org.omg.CORBA.ORB;
+//import org.omg.CORBA.SystemException;
+//import org.omg.CORBA.portable.InputStream;
+//import org.omg.CORBA.portable.OutputStream;
+
+public interface UtilDelegate
+{
+
+ // XXX javax.rmi.ORB -> org.omg.CORBA.ORB
+ Object copyObject(Object obj, javax.rmi.ORB orb) throws RemoteException;
+
+ // XXX javax.rmi.ORB -> org.omg.CORBA.ORB
+ Object[] copyObjects(Object obj[], javax.rmi.ORB orb) throws RemoteException;
+
+ ValueHandler createValueHandler();
+
+ String getCodebase(Class clz);
+
+ Tie getTie(Remote target);
+
+ boolean isLocal(Stub stub) throws RemoteException;
+
+ Class loadClass(String className, String remoteCodebase,
+ ClassLoader loader) throws ClassNotFoundException;
+
+ RemoteException mapSystemException(SystemException ex);
+
+ Object readAny(InputStream in);
+
+ void registerTarget(Tie tie, Remote target);
+
+ void unexportObject(Remote target);
+
+ RemoteException wrapException(Throwable orig);
+
+ void writeAbstractObject(OutputStream out, Object obj);
+
+ void writeAny(OutputStream out, Object obj);
+
+ void writeRemoteObject(OutputStream out, Object obj);
+}
diff --git a/libjava/javax/rmi/CORBA/ValueHandler.java b/libjava/javax/rmi/CORBA/ValueHandler.java
new file mode 100644
index 00000000000..3a008f18cca
--- /dev/null
+++ b/libjava/javax/rmi/CORBA/ValueHandler.java
@@ -0,0 +1,63 @@
+/* ValueHandler.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+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 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., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 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.
+
+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 javax.rmi.CORBA;
+
+import java.io.*;
+//import org.omg.CORBA.portable.InputStream;
+//import org.omg.CORBA.portable.OutputStream;
+//import org.omg.SendingContext.RunTime;
+
+public interface ValueHandler
+{
+
+ String getRMIRepositoryID(Class clz);
+
+ // XXX Runtime -> RunTime
+ Runtime getRunTimeCodeBase();
+
+ boolean isCustomMarshaled(Class clz);
+
+ // XXX Runtime -> RunTime
+ Serializable readValue(InputStream in, int offset, Class clz,
+ String repositoryID, Runtime sender);
+
+ Serializable writeReplace(Serializable value);
+
+ void writeValue(OutputStream out, Serializable value);
+}