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 interfaceObjectInputStreamWithCL.ClassResolverThis 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 ClassLoaderclassloaderprotected Stringnameprotected ObjectInputStreamWithCL.ClassResolverresolverThe 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 ClassresolveClass(ObjectStreamClass objStrmClass)Override resolveClass so that we can use our own ClassLoaderprotected ClassresolveProxyClass(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:
resolveClassin classObjectInputStream- Throws:
ClassNotFoundException
-
resolveProxyClass
protected Class resolveProxyClass(String[] interfaces) throws ClassNotFoundException
Override to provide our own resolution- Overrides:
resolveProxyClassin classObjectInputStream- Throws:
ClassNotFoundException
-
-