Package org.apache.commons.io.input
Class ClassLoaderObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
org.apache.commons.io.input.ClassLoaderObjectInputStream
- All Implemented Interfaces:
- Closeable,- DataInput,- ObjectInput,- ObjectStreamConstants,- AutoCloseable
A special ObjectInputStream that loads a class based on a specified
 
ClassLoader rather than the system default.
 This is useful in dynamic container environments.
- Since:
- 1.1
- 
Nested Class SummaryNested classes/interfaces inherited from class java.io.ObjectInputStreamObjectInputStream.GetField
- 
Field SummaryFields inherited from interface java.io.ObjectStreamConstantsbaseWireHandle, 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 SummaryConstructorsConstructorDescriptionClassLoaderObjectInputStream(ClassLoader classLoader, InputStream inputStream) Constructs a new ClassLoaderObjectInputStream.
- 
Method SummaryModifier and TypeMethodDescriptionprotected Class<?> resolveClass(ObjectStreamClass objectStreamClass) Resolve a class specified by the descriptor using the specified ClassLoader or the super ClassLoader.protected Class<?> resolveProxyClass(String[] interfaces) Create a proxy class that implements the specified interfaces using the specified ClassLoader or the super ClassLoader.Methods inherited from class java.io.ObjectInputStreamavailable, 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, skipBytesMethods inherited from class java.io.InputStreammark, markSupported, read, reset, skipMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.io.ObjectInputread, skip
- 
Constructor Details- 
ClassLoaderObjectInputStreampublic ClassLoaderObjectInputStream(ClassLoader classLoader, InputStream inputStream) throws IOException, StreamCorruptedException Constructs a new ClassLoaderObjectInputStream.- Parameters:
- classLoader- the ClassLoader from which classes should be loaded
- inputStream- the InputStream to work on
- Throws:
- IOException- in case of an I/O error
- StreamCorruptedException- if the stream is corrupted
 
 
- 
- 
Method Details- 
resolveClassprotected Class<?> resolveClass(ObjectStreamClass objectStreamClass) throws IOException, ClassNotFoundException Resolve a class specified by the descriptor using the specified ClassLoader or the super ClassLoader.- Overrides:
- resolveClassin class- ObjectInputStream
- Parameters:
- objectStreamClass- descriptor of the class
- Returns:
- the Class object described by the ObjectStreamClass
- Throws:
- IOException- in case of an I/O error
- ClassNotFoundException- if the Class cannot be found
 
- 
resolveProxyClassprotected Class<?> resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException Create a proxy class that implements the specified interfaces using the specified ClassLoader or the super ClassLoader.- Overrides:
- resolveProxyClassin class- ObjectInputStream
- Parameters:
- interfaces- the interfaces to implement
- Returns:
- a proxy class implementing the interfaces
- Throws:
- IOException- in case of an I/O error
- ClassNotFoundException- if the Class cannot be found
- Since:
- 2.1
- See Also:
 
 
-