org.apache.commons.io.input
Class ClassLoaderObjectInputStream

java.lang.Object
  extended byjava.io.InputStream
      extended byjava.io.ObjectInputStream
          extended byorg.apache.commons.io.input.ClassLoaderObjectInputStream
All Implemented Interfaces:
java.io.DataInput, java.io.ObjectInput, java.io.ObjectStreamConstants

public class ClassLoaderObjectInputStream
extends java.io.ObjectInputStream

A special ObjectInputStream to handle highly transient classes hosted by Avalon components that are juggling many classloaders.

Version:
$Revision: 1.4 $ $Date: 2003/12/30 06:55:59 $
Author:
Paul Hammant

Nested Class Summary
 
Nested classes inherited from class java.io.ObjectInputStream
java.io.ObjectInputStream.GetField
 
Field Summary
private  java.lang.ClassLoader m_classLoader
           
 
Fields inherited from class java.io.ObjectInputStream
 
Fields inherited from class java.io.InputStream
 
Fields inherited from interface java.io.ObjectStreamConstants
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, 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_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING
 
Constructor Summary
ClassLoaderObjectInputStream(java.lang.ClassLoader classLoader, java.io.InputStream inputStream)
          Constructs a new ClassLoaderObjectInputStream.
 
Method Summary
protected  java.lang.Class resolveClass(java.io.ObjectStreamClass objectStreamClass)
           
 
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
 

Field Detail

m_classLoader

private java.lang.ClassLoader m_classLoader
Constructor Detail

ClassLoaderObjectInputStream

public ClassLoaderObjectInputStream(java.lang.ClassLoader classLoader,
                                    java.io.InputStream inputStream)
                             throws java.io.IOException,
                                    java.io.StreamCorruptedException
Constructs a new ClassLoaderObjectInputStream.

Parameters:
classLoader - ClassLoader from which classes should be loaded.
inputStream - InputStream to work on
Throws:
java.io.IOException - in case of an I/O error
java.io.StreamCorruptedException - if the stream is corrupted
Method Detail

resolveClass

protected java.lang.Class resolveClass(java.io.ObjectStreamClass objectStreamClass)
                                throws java.io.IOException,
                                       java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException
See Also:
ObjectInputStream.resolveClass(java.io.ObjectStreamClass)