Class ObjectInputStreamWithLoader

  • All Implemented Interfaces:
    java.io.Closeable, java.io.DataInput, java.io.ObjectInput, java.io.ObjectStreamConstants, java.lang.AutoCloseable

    public class ObjectInputStreamWithLoader
    extends java.io.ObjectInputStream
    This subclass of ObjectInputStream delegates loading of classes to an existing ClassLoader.
    • Nested Class Summary

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

        java.io.ObjectInputStream.GetField
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.ClassLoader loader  
      • 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
      ObjectInputStreamWithLoader​(java.io.InputStream in, java.lang.ClassLoader loader)
      Loader must be non-null;
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.Class resolveClass​(java.io.ObjectStreamClass classDesc)
      Use the given ClassLoader rather than using the system class
      • 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, resolveProxyClass, 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

      • loader

        protected java.lang.ClassLoader loader
    • Constructor Detail

      • ObjectInputStreamWithLoader

        public ObjectInputStreamWithLoader​(java.io.InputStream in,
                                           java.lang.ClassLoader loader)
                                    throws java.io.IOException,
                                           java.io.StreamCorruptedException
        Loader must be non-null;
        Throws:
        java.io.IOException - on io error
        java.io.StreamCorruptedException - on a corrupted stream
    • Method Detail

      • resolveClass

        protected java.lang.Class resolveClass​(java.io.ObjectStreamClass classDesc)
                                        throws java.io.IOException,
                                               java.lang.ClassNotFoundException
        Use the given ClassLoader rather than using the system class
        Overrides:
        resolveClass in class java.io.ObjectInputStream
        Throws:
        java.lang.ClassNotFoundException - if class can not be loaded
        java.io.IOException