toxTree.core
Class ToxTreeObjectInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.ObjectInputStream
          extended by toxTree.core.ToxTreeObjectInputStream
All Implemented Interfaces:
java.io.Closeable, java.io.DataInput, java.io.ObjectInput, java.io.ObjectStreamConstants

public class ToxTreeObjectInputStream
extends java.io.ObjectInputStream

Loading non-default serialized classes is tricky ...
A descendent of ObjectInputStream that uses classloader from Introspection instead of default classLoader.

Author:
Nina Jeliazkova

Nested Class Summary
 
Nested classes/interfaces inherited from class java.io.ObjectInputStream
java.io.ObjectInputStream.GetField
 
Field Summary
 
Fields inherited from interface java.io.ObjectStreamConstants
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_ENUM, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, STREAM_MAGIC, STREAM_VERSION, SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION, TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS, TC_CLASSDESC, TC_ENDBLOCKDATA, TC_ENUM, TC_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING
 
Constructor Summary
ToxTreeObjectInputStream()
           
ToxTreeObjectInputStream(java.io.InputStream arg0)
           
 
Method Summary
protected  java.lang.Class resolveClass(java.io.ObjectStreamClass desc)
          http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6500212 Thus, we highly recommend replacement of this code:
 
Methods inherited from class java.io.ObjectInputStream
available, close, defaultReadObject, enableResolveObject, read, read, readBoolean, readByte, readChar, readClassDescriptor, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveObject, resolveProxyClass, skipBytes
 
Methods inherited from class java.io.InputStream
mark, markSupported, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.io.ObjectInput
read, skip
 

Constructor Detail

ToxTreeObjectInputStream

public ToxTreeObjectInputStream()
                         throws java.io.IOException,
                                java.lang.SecurityException
Throws:
java.io.IOException
java.lang.SecurityException

ToxTreeObjectInputStream

public ToxTreeObjectInputStream(java.io.InputStream arg0)
                         throws java.io.IOException
Throws:
java.io.IOException
Method Detail

resolveClass

protected java.lang.Class resolveClass(java.io.ObjectStreamClass desc)
                                throws java.io.IOException,
                                       java.lang.ClassNotFoundException
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6500212 Thus, we highly recommend replacement of this code:
 myClassLoader.loadClass(className);
 
With this code:
 Class.forName(className,false,myClassLoader);
 

Overrides:
resolveClass in class java.io.ObjectInputStream
Throws:
java.io.IOException
java.lang.ClassNotFoundException


Copyright © 2004-2012 Ideaconsult Ltd.. All Rights Reserved.