org.apache.felix.framework.util
Class ObjectInputStreamX

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.ObjectInputStream
          extended by org.apache.felix.framework.util.ObjectInputStreamX
All Implemented Interfaces:
java.io.Closeable, java.io.DataInput, java.io.ObjectInput, java.io.ObjectStreamConstants

public class ObjectInputStreamX
extends java.io.ObjectInputStream

The ObjectInputStreamX class is a simple extension to the ObjectInputStream class. The purpose of ObjectInputStreamX is to allow objects to be deserialized when their classes are not in the CLASSPATH (e.g., in a JAR file).


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
ObjectInputStreamX(java.io.InputStream in, IModule module)
          Construct an ObjectInputStreamX for the specified InputStream and the specified ClassLoader.
 
Method Summary
protected  java.lang.Class resolveClass(java.io.ObjectStreamClass v)
          By overloading this method, the ObjectInputStreamX can resolve a class from the class loader that was passed into it at construction time.
 
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

ObjectInputStreamX

public ObjectInputStreamX(java.io.InputStream in,
                          IModule module)
                   throws java.io.IOException,
                          java.io.StreamCorruptedException
Construct an ObjectInputStreamX for the specified InputStream and the specified ClassLoader.

Parameters:
in - the input stream to read.
loader - the class loader used to resolve classes.
Throws:
java.io.IOException
java.io.StreamCorruptedException
Method Detail

resolveClass

protected java.lang.Class resolveClass(java.io.ObjectStreamClass v)
                                throws java.io.IOException,
                                       java.lang.ClassNotFoundException
By overloading this method, the ObjectInputStreamX can resolve a class from the class loader that was passed into it at construction time.

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