Package net.sf.jasperreports.engine.util
Class ContextClassLoaderObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream
- All Implemented Interfaces:
Closeable
,DataInput
,ObjectInput
,ObjectStreamConstants
,AutoCloseable
A subclass of
ObjectInputStream
that uses
the context class loader
to resolve
classes encountered in the input stream.- Author:
- Lucian Chirita (lucianc@users.sourceforge.net)
-
Nested Class Summary
Nested classes/interfaces inherited from class java.io.ObjectInputStream
ObjectInputStream.GetField
-
Field Summary
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
ConstructorsConstructorDescriptionContextClassLoaderObjectInputStream
(JasperReportsContext jasperReportsContext, InputStream in) Creates an object input stream that reads data from the specifiedInputStream
. -
Method Summary
Modifier and TypeMethodDescriptionprotected Class
<?> Callssuper.resolveClass()
and in case this fails withClassNotFoundException
attempts to load the class using the context class loader.protected Object
resolveObject
(Object obj) Checks to see if the object is an instance ofjava.awt.Font
, and in case it is, it replaces it with the one looked up for in the font extensions.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, resolveProxyClass, setObjectInputFilter, skipBytes
Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, 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
-
Constructor Details
-
ContextClassLoaderObjectInputStream
public ContextClassLoaderObjectInputStream(JasperReportsContext jasperReportsContext, InputStream in) throws IOException Creates an object input stream that reads data from the specifiedInputStream
.- Parameters:
in
- the input stream to read data from- Throws:
IOException
- See Also:
-
-
Method Details
-
getJasperReportsContext
-
resolveClass
Callssuper.resolveClass()
and in case this fails withClassNotFoundException
attempts to load the class using the context class loader.- Overrides:
resolveClass
in classObjectInputStream
- Throws:
IOException
ClassNotFoundException
-
resolveObject
Checks to see if the object is an instance ofjava.awt.Font
, and in case it is, it replaces it with the one looked up for in the font extensions.- Overrides:
resolveObject
in classObjectInputStream
- Throws:
IOException
-