org.apache.felix.mosgi.jmx.agent.mx4j.loading
Class ClassLoaderObjectInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.ObjectInputStream
          extended by org.apache.felix.mosgi.jmx.agent.mx4j.loading.ClassLoaderObjectInputStream
All Implemented Interfaces:
java.io.Closeable, java.io.DataInput, java.io.ObjectInput, java.io.ObjectStreamConstants

public class ClassLoaderObjectInputStream
extends java.io.ObjectInputStream

ObjectInputStream that can read serialized java Objects using a supplied classloader to find the object's classes.

Version:
$Revision: 1.1.1.1 $
Author:
Simone Bordet

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
ClassLoaderObjectInputStream(java.io.InputStream stream, java.lang.ClassLoader classLoader)
          Creates a new ClassLoaderObjectInputStream
 
Method Summary
protected  java.lang.Class resolveClass(java.io.ObjectStreamClass osc)
           
protected  java.lang.Class resolveProxyClass(java.lang.String[] interfaces)
           
 
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, 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

ClassLoaderObjectInputStream

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

Parameters:
stream - The decorated stream
classLoader - The ClassLoader used to load classes
Throws:
java.io.IOException
java.io.StreamCorruptedException
Method Detail

resolveClass

protected java.lang.Class resolveClass(java.io.ObjectStreamClass osc)
                                throws java.io.IOException,
                                       java.lang.ClassNotFoundException
Overrides:
resolveClass in class java.io.ObjectInputStream
Throws:
java.io.IOException
java.lang.ClassNotFoundException

resolveProxyClass

protected java.lang.Class resolveProxyClass(java.lang.String[] interfaces)
                                     throws java.io.IOException,
                                            java.lang.ClassNotFoundException
Overrides:
resolveProxyClass in class java.io.ObjectInputStream
Throws:
java.io.IOException
java.lang.ClassNotFoundException