summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/ObjectInputStream.java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2009-06-26 14:59:11 -0700
committerMark Spruiell <mes@zeroc.com>2009-06-26 14:59:11 -0700
commit3a5f968f8487eb1f91769ab8704a9609dcbe9efe (patch)
tree469fc394f1e1e9ba0ef615c991faa524af4a21d0 /java/src/IceInternal/ObjectInputStream.java
parentupdating CHANGES for bug 4126 (diff)
downloadice-3a5f968f8487eb1f91769ab8704a9609dcbe9efe.tar.bz2
ice-3a5f968f8487eb1f91769ab8704a9609dcbe9efe.tar.xz
ice-3a5f968f8487eb1f91769ab8704a9609dcbe9efe.zip
more fixes for bug 4126
Diffstat (limited to 'java/src/IceInternal/ObjectInputStream.java')
-rw-r--r--java/src/IceInternal/ObjectInputStream.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/java/src/IceInternal/ObjectInputStream.java b/java/src/IceInternal/ObjectInputStream.java
new file mode 100644
index 00000000000..e5fa8e0b45a
--- /dev/null
+++ b/java/src/IceInternal/ObjectInputStream.java
@@ -0,0 +1,45 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+package IceInternal;
+
+//
+// We need to override the resolveClass method of ObjectInputStream so
+// that we can use the same class-lookup mechanism as elsewhere in the
+// Ice run time.
+//
+
+public class ObjectInputStream extends java.io.ObjectInputStream
+{
+ public
+ ObjectInputStream(java.io.InputStream in)
+ throws java.io.IOException
+ {
+ super(in);
+ }
+
+ protected Class<?>
+ resolveClass(java.io.ObjectStreamClass cls)
+ throws java.io.IOException, ClassNotFoundException
+ {
+ try
+ {
+ Class<?> c = Util.findClass(cls.getName());
+ if(c != null)
+ {
+ return c;
+ }
+ throw new ClassNotFoundException("unable to resolve class" + cls.getName());
+ }
+ catch(Exception ex)
+ {
+ throw new ClassNotFoundException("unable to resolve class " + cls.getName(), ex);
+ }
+ }
+}