Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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:
  java.io.Closeable, java.io.DataInput, java.io.ObjectInput, java.io.ObjectStreamConstants

    public class ContextClassLoaderObjectInputStream

extends java.io.ObjectInputStream

A subclass of `ObjectInputStream` that uses `the context class loader` to resolve classes encountered in the input stream.

Version:
  $Id: ContextClassLoaderObjectInputStream.java 3807 2010-05-19 09:37:17Z teodord $
Author:
  Lucian Chirita (lucianc@users.sourceforge.net)

Nested Class Summary

Nested classes/interfaces inherited from class java.io.ObjectInputStream
`java.io.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, 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
`ContextClassLoaderObjectInputStream(java.io.InputStream in)` Creates an object input stream that reads data from the specified `InputStream`.

Method Summary
`protected java.lang.Class` | `resolveClass(java.io.ObjectStreamClass desc)` Calls `super.resolveClass()` and in case this fails with `ClassNotFoundException` attempts to load the class using the context class loader.
`protected java.lang.Object` | `resolveObject(java.lang.Object obj)` Calls `super.resolveObject()` and in case the object is a `java.awt.Font`, it look up for it is fails with `ClassNotFoundException` attempts to load the class using the context class loader.

Methods inherited from class java.io.ObjectInputStream
`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`

Methods inherited from class java.io.InputStream
`mark, markSupported, read, reset, skip`

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 Detail

### ContextClassLoaderObjectInputStream

    public ContextClassLoaderObjectInputStream(java.io.InputStream in)
                                        throws java.io.IOException

  Creates an object input stream that reads data from the specified `InputStream`.

  Parameters:
    `in` - the input stream to read data from
  Throws:
    `java.io.IOException`
  See Also:
    `ObjectInputStream.ObjectInputStream(InputStream)`

Method Detail

### resolveClass

    protected java.lang.Class resolveClass(java.io.ObjectStreamClass desc)
                                    throws java.io.IOException,
                                           java.lang.ClassNotFoundException

  Calls `super.resolveClass()` and in case this fails with `ClassNotFoundException` attempts to load the class using the context class loader.

  Overrides:
    `resolveClass` in class `java.io.ObjectInputStream`
  Throws:
    `java.io.IOException`
    `java.lang.ClassNotFoundException`

### resolveObject

    protected java.lang.Object resolveObject(java.lang.Object obj)
                                      throws java.io.IOException

  Calls `super.resolveObject()` and in case the object is a `java.awt.Font`, it look up for it is fails with `ClassNotFoundException` attempts to load the class using the context class loader.

  Overrides:
    `resolveObject` in class `java.io.ObjectInputStream`
  Throws:
    `java.io.IOException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

© 2001-2010 Jaspersoft Corporation www.jaspersoft.com