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.ObjectInputStream
An input stream class which knows how to deserialize proxies created viaProxyFactory
and serializedo via aProxyObjectOutputStream
. It must be used when deserialising proxies created from a proxy factory configured withProxyFactory.useWriteReplace
set to false.
-
-
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
-
-
-
-
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 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:
readClassDescriptor
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
-