Package javassist.util.proxy
Class ProxyObjectInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.ObjectInputStream
-
- javassist.util.proxy.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.ObjectInputStreamAn input stream class which knows how to deserialize proxies created viaProxyFactoryand serializedo via aProxyObjectOutputStream. It must be used when deserialising proxies created from a proxy factory configured withProxyFactory.useWriteReplaceset to false.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.ClassLoaderloaderthe 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.ObjectStreamClassreadClassDescriptor()voidsetClassLoader(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
-
-
-
-
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.IOExceptioncreate 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 sojava.io.IOException- whenever ObjectInputStream would also do sojava.lang.SecurityException- whenever ObjectInputStream would also do sojava.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:
readClassDescriptorin classjava.io.ObjectInputStream- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
-