csheets.io
Class DynamicObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
csheets.io.DynamicObjectInputStream
- All Implemented Interfaces:
- Closeable, DataInput, ObjectInput, ObjectStreamConstants
public class DynamicObjectInputStream
- extends ObjectInputStream
An object input stream that resolves class descriptors through a given
class loader, and thereby allowing dynamic deserialization.
- Author:
- Einar Pehrson
| 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 |
|
Method Summary |
protected Class<?> |
resolveClass(ObjectStreamClass desc)
Load the local class equivalent of the specified stream class descriptor,
by first querying the given class loader. |
| 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, resolveProxyClass, skipBytes |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DynamicObjectInputStream
public DynamicObjectInputStream(InputStream stream,
ClassLoader loader)
throws IOException
- Creates a new dynamic object input stream.
- Parameters:
stream - the input stream to read fromloader - the class loader queried for class descriptor resolution
- Throws:
IOException - if an I/O error occurs while reading stream header
resolveClass
protected Class<?> resolveClass(ObjectStreamClass desc)
throws IOException,
ClassNotFoundException
- Load the local class equivalent of the specified stream class descriptor,
by first querying the given class loader.
- Overrides:
resolveClass in class ObjectInputStream
- Parameters:
desc - the class descriptor
- Throws:
IOException - if an I/O error occurs while resolving
ClassNotFoundException - if the class of a serialized object cannot be found