public class ContextClassLoaderObjectInputStream extends ObjectInputStream
ObjectInputStream
that uses
the context class loader
to resolve
classes encountered in the input stream.ObjectInputStream.GetField
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
Constructor and Description |
---|
ContextClassLoaderObjectInputStream(JasperReportsContext jasperReportsContext,
InputStream in)
Creates an object input stream that reads data from the specified
InputStream . |
Modifier and Type | Method and Description |
---|---|
JasperReportsContext |
getJasperReportsContext() |
protected Class<?> |
resolveClass(ObjectStreamClass desc)
Calls
super.resolveClass() and in case this fails with
ClassNotFoundException attempts to load the class using the
context class loader. |
protected Object |
resolveObject(Object obj)
Checks to see if the object is an instance of
java.awt.Font ,
and in case it is, it replaces it with the one looked up for in the font extensions. |
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, resolveProxyClass, skipBytes
mark, markSupported, read, reset, skip
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
read, skip
public ContextClassLoaderObjectInputStream(JasperReportsContext jasperReportsContext, InputStream in) throws IOException
InputStream
.in
- the input stream to read data fromIOException
ObjectInputStream.ObjectInputStream(InputStream)
public JasperReportsContext getJasperReportsContext()
protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException
super.resolveClass()
and in case this fails with
ClassNotFoundException
attempts to load the class using the
context class loader.resolveClass
in class ObjectInputStream
IOException
ClassNotFoundException
protected Object resolveObject(Object obj) throws IOException
java.awt.Font
,
and in case it is, it replaces it with the one looked up for in the font extensions.resolveObject
in class ObjectInputStream
IOException
Copyright © 2017. All rights reserved.