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

## org.springframework.core
Class ConfigurableObjectInputStream

    java.lang.Object
      java.io.InputStream
          java.io.ObjectInputStream
              org.springframework.core.ConfigurableObjectInputStream

All Implemented Interfaces:
  java.io.Closeable, java.io.DataInput, java.io.ObjectInput, java.io.ObjectStreamConstants

Direct Known Subclasses:
  CodebaseAwareObjectInputStream

    public class ConfigurableObjectInputStream

extends java.io.ObjectInputStream

Special ObjectInputStream subclass that resolves class names against a specific ClassLoader. Serves as base class for `CodebaseAwareObjectInputStream`.

Since:
  2.5.5
Author:
  Juergen Hoeller

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
`ConfigurableObjectInputStream(java.io.InputStream in, java.lang.ClassLoader classLoader)` Create a new ConfigurableObjectInputStream for the given InputStream and ClassLoader.
`ConfigurableObjectInputStream(java.io.InputStream in, java.lang.ClassLoader classLoader, boolean acceptProxyClasses)` Create a new ConfigurableObjectInputStream for the given InputStream and ClassLoader.

Method Summary
`protected java.lang.ClassLoader` | `getFallbackClassLoader()` Return the fallback ClassLoader to use when no ClassLoader was specified and ObjectInputStream's own default ClassLoader failed.
`protected java.lang.Class` | `resolveClass(java.io.ObjectStreamClass classDesc)`
`protected java.lang.Class` | `resolveFallbackIfPossible(java.lang.String className, java.lang.ClassNotFoundException ex)` Resolve the given class name against a fallback class loader.
`protected java.lang.Class` | `resolveProxyClass(java.lang.String[] interfaces)`

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

### ConfigurableObjectInputStream

    public ConfigurableObjectInputStream(java.io.InputStream in,
                                         java.lang.ClassLoader classLoader)
                                  throws java.io.IOException

  Create a new ConfigurableObjectInputStream for the given InputStream and ClassLoader.

  Parameters:
    `in` - the InputStream to read from
    `classLoader` - the ClassLoader to use for loading local classes
  Throws:
    `java.io.IOException`
  See Also:
    `ObjectInputStream.ObjectInputStream(java.io.InputStream)`

### ConfigurableObjectInputStream

    public ConfigurableObjectInputStream(java.io.InputStream in,
                                         java.lang.ClassLoader classLoader,
                                         boolean acceptProxyClasses)
                                  throws java.io.IOException

  Create a new ConfigurableObjectInputStream for the given InputStream and ClassLoader.

  Parameters:
    `in` - the InputStream to read from
    `classLoader` - the ClassLoader to use for loading local classes
    `acceptProxyClasses` - whether to accept deserialization of proxy classes (may be deactivated as a security measure)
  Throws:
    `java.io.IOException`
  See Also:
    `ObjectInputStream.ObjectInputStream(java.io.InputStream)`

Method Detail

### resolveClass

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

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

### resolveProxyClass

    protected java.lang.Class resolveProxyClass(java.lang.String[] interfaces)
                                         throws java.io.IOException,
                                                java.lang.ClassNotFoundException

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

### resolveFallbackIfPossible

    protected java.lang.Class resolveFallbackIfPossible(java.lang.String className,
                                                        java.lang.ClassNotFoundException ex)
                                                 throws java.io.IOException,
                                                        java.lang.ClassNotFoundException

  Resolve the given class name against a fallback class loader.

  The default implementation simply rethrows the original exception, since there is no fallback available.

  Parameters:
    `className` - the class name to resolve
    `ex` - the original exception thrown when attempting to load the class
  Returns:
    the newly resolved class (never `null`)
  Throws:
    `java.io.IOException`
    `java.lang.ClassNotFoundException`

### getFallbackClassLoader

    protected java.lang.ClassLoader getFallbackClassLoader()
                                                    throws java.io.IOException

  Return the fallback ClassLoader to use when no ClassLoader was specified and ObjectInputStream's own default ClassLoader failed.

  The default implementation simply returns `null`.

  Throws:
    `java.io.IOException`

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