Class ObjectInputStreamWithCL
- java.lang.Object
-
- java.io.InputStream
-
- java.io.ObjectInputStream
-
- org.apache.axis2.context.externalize.ObjectInputStreamWithCL
-
- All Implemented Interfaces:
Closeable
,DataInput
,ObjectInput
,ObjectStreamConstants
,AutoCloseable
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
Nested Classes Modifier and Type Class Description 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
Fields Modifier and Type Field Description 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, SERIAL_FILTER_PERMISSION, 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
Constructors Constructor Description ObjectInputStreamWithCL(InputStream is)
Construct using ContextClassLoaderObjectInputStreamWithCL(InputStream is, ClassLoader cl)
Constructor that accepts a ClassLoaderObjectInputStreamWithCL(InputStream is, ObjectInputStreamWithCL.ClassResolver r)
Constructor that accepts a ClassResolver
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Class
resolveClass(ObjectStreamClass objStrmClass)
Override resolveClass so that we can use our own ClassLoaderprotected Class
resolveProxyClass(String[] interfaces)
Override to provide our own resolution-
Methods inherited from class java.io.ObjectInputStream
available, close, defaultReadObject, enableResolveObject, getObjectInputFilter, read, read, readBoolean, readByte, readChar, readClassDescriptor, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveObject, setObjectInputFilter, skipBytes
-
Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, transferTo
-
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 classObjectInputStream
- Throws:
ClassNotFoundException
-
resolveProxyClass
protected Class resolveProxyClass(String[] interfaces) throws ClassNotFoundException
Override to provide our own resolution- Overrides:
resolveProxyClass
in classObjectInputStream
- Throws:
ClassNotFoundException
-
-