diff options
author | Joe George <joe@zeroc.com> | 2015-03-03 17:30:50 -0500 |
---|---|---|
committer | Joe George <joe@zeroc.com> | 2015-05-12 11:41:55 -0400 |
commit | d35bb9f5c19e34aee31f83d445695a8186ef675e (patch) | |
tree | d5324eaf44f5f9776495537c51653f50a66a7237 /java/src/IceInternal/ObjectInputStream.java | |
download | ice-d35bb9f5c19e34aee31f83d445695a8186ef675e.tar.bz2 ice-d35bb9f5c19e34aee31f83d445695a8186ef675e.tar.xz ice-d35bb9f5c19e34aee31f83d445695a8186ef675e.zip |
Ice 3.4.2 Source Distributionv3.4.2
Diffstat (limited to 'java/src/IceInternal/ObjectInputStream.java')
-rw-r--r-- | java/src/IceInternal/ObjectInputStream.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/java/src/IceInternal/ObjectInputStream.java b/java/src/IceInternal/ObjectInputStream.java new file mode 100644 index 00000000000..9497bbe6fff --- /dev/null +++ b/java/src/IceInternal/ObjectInputStream.java @@ -0,0 +1,48 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2011 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(Instance instance, java.io.InputStream in) + throws java.io.IOException + { + super(in); + _instance = instance; + } + + protected Class<?> + resolveClass(java.io.ObjectStreamClass cls) + throws java.io.IOException, ClassNotFoundException + { + try + { + Class<?> c = _instance.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); + } + } + + private Instance _instance; +} |