Class 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.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.io.ObjectInputStream

        java.io.ObjectInputStream.GetField
    • 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
    • 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
      • Methods inherited from class java.io.InputStream

        mark, markSupported, read, reset, skip
      • 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

      • 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 new AdvancedObjectInputStream.
        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 class java.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.