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:
Closeable, DataInput, ObjectInput, ObjectStreamConstants

public class ObjectInputStreamWithCL
extends 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
ObjectInputStream.GetField
 
Field Summary
protected  ClassLoader classloader
           
protected  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(InputStream is)
          Construct using ContextClassLoader
ObjectInputStreamWithCL(InputStream is, ClassLoader cl)
          Constructor that accepts a ClassLoader
ObjectInputStreamWithCL(InputStream is, ObjectInputStreamWithCL.ClassResolver r)
          Constructor that accepts a ClassResolver
 
Method Summary
protected  Class resolveClass(ObjectStreamClass objStrmClass)
          Override resolveClass so that we can use our own ClassLoader
protected  Class resolveProxyClass(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 ClassLoader classloader

name

protected String name
Constructor Detail

ObjectInputStreamWithCL

public ObjectInputStreamWithCL(InputStream is)
                        throws IOException
Construct using ContextClassLoader

Parameters:
is -
Throws:
IOException

ObjectInputStreamWithCL

public ObjectInputStreamWithCL(InputStream is,
                               ClassLoader cl)
                        throws IOException
Constructor that accepts a ClassLoader

Parameters:
is -
cl -
Throws:
IOException

ObjectInputStreamWithCL

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

Parameters:
is -
r - ClassResolver
Throws:
IOException
Method Detail

resolveClass

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

Overrides:
resolveClass in class ObjectInputStream
Throws:
ClassNotFoundException

resolveProxyClass

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

Overrides:
resolveProxyClass in class ObjectInputStream
Throws:
ClassNotFoundException


Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.