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 withClassNotFoundExceptionattempts to load the class using the context class loader.protected ObjectresolveObject(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, skipBytesMethods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferToMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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 withClassNotFoundExceptionattempts to load the class using the context class loader.- Overrides:
resolveClassin classObjectInputStream- Throws:
IOExceptionClassNotFoundException
-
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:
resolveObjectin classObjectInputStream- Throws:
IOException
-