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

## org.apache.commons.io.input
Class ClassLoaderObjectInputStream

    java.lang.Object
      java.io.InputStream
          java.io.ObjectInputStream
              org.apache.commons.io.input.ClassLoaderObjectInputStream

All Implemented Interfaces:
  Closeable, DataInput, ObjectInput, ObjectStreamConstants

    public class ClassLoaderObjectInputStream

extends ObjectInputStream

A special ObjectInputStream that loads a class based on a specified `ClassLoader` rather than the system default.

This is useful in dynamic container environments.

Since:
  Commons IO 1.1
Version:
  $Id: ClassLoaderObjectInputStream.java 1080933 2011-03-12 13:53:38Z niallp $
Author:
  Paul Hammant

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, 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
`ClassLoaderObjectInputStream(ClassLoader classLoader, InputStream inputStream)` Constructs a new ClassLoaderObjectInputStream.

Method Summary
`protected Class<?>` | `resolveClass(ObjectStreamClass objectStreamClass)` Resolve a class specified by the descriptor using the specified ClassLoader or the super ClassLoader.
`protected Class<?>` | `resolveProxyClass(String[] interfaces)` Create a proxy class that implements the specified interfaces using the specified ClassLoader or the super ClassLoader.

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, resolveObject, 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

### ClassLoaderObjectInputStream

    public ClassLoaderObjectInputStream(ClassLoader classLoader,
                                        InputStream inputStream)
                                 throws IOException,
                                        StreamCorruptedException

  Constructs a new ClassLoaderObjectInputStream.

  Parameters:
    `classLoader` - the ClassLoader from which classes should be loaded
    `inputStream` - the InputStream to work on
  Throws:
    `IOException` - in case of an I/O error
    `StreamCorruptedException` - if the stream is corrupted

Method Detail

### resolveClass

    protected Class<?> resolveClass(ObjectStreamClass objectStreamClass)
                             throws IOException,
                                    ClassNotFoundException

  Resolve a class specified by the descriptor using the specified ClassLoader or the super ClassLoader.

  Overrides:
    `resolveClass` in class `ObjectInputStream`
  Parameters:
    `objectStreamClass` - descriptor of the class
  Returns:
    the Class object described by the ObjectStreamClass
  Throws:
    `IOException` - in case of an I/O error
    `ClassNotFoundException` - if the Class cannot be found

### resolveProxyClass

    protected Class<?> resolveProxyClass(String[] interfaces)
                                  throws IOException,
                                         ClassNotFoundException

  Create a proxy class that implements the specified interfaces using the specified ClassLoader or the super ClassLoader.

  Overrides:
    `resolveProxyClass` in class `ObjectInputStream`
  Parameters:
    `interfaces` - the interfaces to implement
  Returns:
    a proxy class implementing the interfaces
  Throws:
    `IOException` - in case of an I/O error
    `ClassNotFoundException` - if the Class cannot be found
  Since:
    Commons IO 2.1
  See Also:
    `ObjectInputStream.resolveProxyClass(java.lang.String[])`

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

Copyright © 2002-2011 The Apache Software Foundation. All Rights Reserved.