org.apache.axis2.context.externalize
Class ObjectInputStreamWithCL

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.ObjectInputStream
          extended by org.apache.axis2.context.externalize.ObjectInputStreamWithCL
All Implemented Interfaces:
java.io.Closeable, java.io.DataInput, java.io.ObjectInput, java.io.ObjectStreamConstants

public class ObjectInputStreamWithCL
extends java.io.ObjectInputStream

An ObjectInputStream that is constructed with a ClassLoader or ClassResolver. The default behavior is to use the ContextClassLoader


Nested Class Summary
static interface ObjectInputStreamWithCL.ClassResolver
           This interface is used to resolve OSGi declared serializable classes.
 
Nested classes/interfaces inherited from class java.io.ObjectInputStream
java.io.ObjectInputStream.GetField
 
Field Summary
protected  java.lang.ClassLoader classloader
           
protected  java.lang.String name
           
protected  ObjectInputStreamWithCL.ClassResolver resolver
          The class resolver
 
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
ObjectInputStreamWithCL(java.io.InputStream is)
          Construct using ContextClassLoader
ObjectInputStreamWithCL(java.io.InputStream is, java.lang.ClassLoader cl)
          Constructor that accepts a ClassLoader
ObjectInputStreamWithCL(java.io.InputStream is, ObjectInputStreamWithCL.ClassResolver r)
          Constructor that accepts a ClassResolver
 
Method Summary
protected  java.lang.Class resolveClass(java.io.ObjectStreamClass objStrmClass)
          Override resolveClass so that we can use our own ClassLoader
protected  java.lang.Class resolveProxyClass(java.lang.String[] interfaces)
          Override to provide our own resolution
 
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
 

Field Detail

resolver

protected ObjectInputStreamWithCL.ClassResolver resolver
The class resolver


classloader

protected java.lang.ClassLoader classloader

name

protected java.lang.String name
Constructor Detail

ObjectInputStreamWithCL

public ObjectInputStreamWithCL(java.io.InputStream is)
                        throws java.io.IOException
Construct using ContextClassLoader

Parameters:
is -
Throws:
java.io.IOException

ObjectInputStreamWithCL

public ObjectInputStreamWithCL(java.io.InputStream is,
                               java.lang.ClassLoader cl)
                        throws java.io.IOException
Constructor that accepts a ClassLoader

Parameters:
is -
cl -
Throws:
java.io.IOException

ObjectInputStreamWithCL

public ObjectInputStreamWithCL(java.io.InputStream is,
                               ObjectInputStreamWithCL.ClassResolver r)
                        throws java.io.IOException
Constructor that accepts a ClassResolver

Parameters:
is -
r - ClassResolver
Throws:
java.io.IOException
Method Detail

resolveClass

protected java.lang.Class resolveClass(java.io.ObjectStreamClass objStrmClass)
                                throws java.lang.ClassNotFoundException
Override resolveClass so that we can use our own ClassLoader

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

resolveProxyClass

protected java.lang.Class resolveProxyClass(java.lang.String[] interfaces)
                                     throws java.lang.ClassNotFoundException
Override to provide our own resolution

Overrides:
resolveProxyClass in class java.io.ObjectInputStream
Throws:
java.lang.ClassNotFoundException


Copyright © 2007 Apache Web Services Project. All Rights Reserved.