Class ProxyObjectInputStream

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

    public class ProxyObjectInputStream
    extends java.io.ObjectInputStream
    An input stream class which knows how to deserialize proxies created via ProxyFactory and serializedo via a ProxyObjectOutputStream. It must be used when deserialising proxies created from a proxy factory configured with ProxyFactory.useWriteReplace set to false.
    • 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 java.lang.ClassLoader loader
      the loader to use to resolve classes for proxy superclass and interface names read from the stream.
      • 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
      ProxyObjectInputStream​(java.io.InputStream in)
      create an input stream which can be used to deserialize an object graph which includes proxies created using class ProxyFactory.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.io.ObjectStreamClass readClassDescriptor()  
      void setClassLoader​(java.lang.ClassLoader loader)
      Reset the loader to be
      • Methods inherited from class java.io.ObjectInputStream

        available, close, defaultReadObject, enableResolveObject, getObjectInputFilter, read, read, readBoolean, readByte, readChar, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveClass, 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

        private java.lang.ClassLoader loader
        the loader to use to resolve classes for proxy superclass and interface names read from the stream. defaults to the context class loader of the thread which creates the input stream or the system class loader if the context class loader is null.
    • Constructor Detail

      • ProxyObjectInputStream

        public ProxyObjectInputStream​(java.io.InputStream in)
                               throws java.io.IOException
        create an input stream which can be used to deserialize an object graph which includes proxies created using class ProxyFactory. the classloader used to resolve proxy superclass and interface names read from the input stream will default to the current thread's context class loader or the system classloader if the context class loader is null.
        Parameters:
        in -
        Throws:
        java.io.StreamCorruptedException - whenever ObjectInputStream would also do so
        java.io.IOException - whenever ObjectInputStream would also do so
        java.lang.SecurityException - whenever ObjectInputStream would also do so
        java.lang.NullPointerException - if in is null
    • Method Detail

      • setClassLoader

        public void setClassLoader​(java.lang.ClassLoader loader)
        Reset the loader to be
        Parameters:
        loader -
      • readClassDescriptor

        protected java.io.ObjectStreamClass readClassDescriptor()
                                                         throws java.io.IOException,
                                                                java.lang.ClassNotFoundException
        Overrides:
        readClassDescriptor in class java.io.ObjectInputStream
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException