Package org.jcsp.net.dynamic
Class DynamicClassLoaderMessage.AdvancedObjectInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.ObjectInputStream
-
- org.jcsp.net.dynamic.DynamicClassLoaderMessage.AdvancedObjectInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.DataInput
,java.io.ObjectInput
,java.io.ObjectStreamConstants
,java.lang.AutoCloseable
- Enclosing class:
- DynamicClassLoaderMessage
private class DynamicClassLoaderMessage.AdvancedObjectInputStream extends java.io.ObjectInputStream
This allows a custom ClassLoader to be used to resolve the object being deserialized.
-
-
Field Summary
Fields Modifier and Type Field Description private ClassManager
cm
The class manager to use when resolving a class.-
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
Constructors Constructor Description AdvancedObjectInputStream(ClassManager cm, java.io.InputStream in)
Constructs a newAdvancedObjectInputStream
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.Class
resolveClass(java.io.ObjectStreamClass v)
Attempts to resolve the class requested using the class manager.-
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
-
-
-
-
Field Detail
-
cm
private ClassManager cm
The class manager to use when resolving a class.
-
-
Constructor Detail
-
AdvancedObjectInputStream
public AdvancedObjectInputStream(ClassManager cm, java.io.InputStream in) throws java.io.IOException
Constructs a newAdvancedObjectInputStream
.- Parameters:
cm
- the class manager process at this node.in
- the underlying input stream to read data from.- Throws:
java.io.IOException
-
-
Method Detail
-
resolveClass
protected java.lang.Class resolveClass(java.io.ObjectStreamClass v) throws java.io.IOException, java.lang.ClassNotFoundException
Attempts to resolve the class requested using the class manager. If this fails an exception is raised.- Overrides:
resolveClass
in classjava.io.ObjectInputStream
- Parameters:
v
- indicates the class to resolve.- Returns:
- the resolved class.
- Throws:
java.io.IOException
- if there is a problem with the underlying stream.java.lang.ClassNotFoundException
- if the class could not be resolved.
-
-