Package org.springframework.core
Class ConfigurableObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
org.springframework.core.ConfigurableObjectInputStream
- All Implemented Interfaces:
- Closeable,- DataInput,- ObjectInput,- ObjectStreamConstants,- AutoCloseable
Special 
ObjectInputStream subclass that resolves class names
 against a specific ClassLoader.- Since:
- 2.5.5
- Author:
- Juergen Hoeller
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from class java.io.ObjectInputStreamObjectInputStream.GetField
- 
Field SummaryFields inherited from interface java.io.ObjectStreamConstantsbaseWireHandle, 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 SummaryConstructorsConstructorDescriptionConfigurableObjectInputStream(InputStream in, ClassLoader classLoader) Create a new ConfigurableObjectInputStream for the given InputStream and ClassLoader.ConfigurableObjectInputStream(InputStream in, ClassLoader classLoader, boolean acceptProxyClasses) Create a new ConfigurableObjectInputStream for the given InputStream and ClassLoader.
- 
Method SummaryModifier and TypeMethodDescriptionprotected ClassLoaderReturn the fallback ClassLoader to use when no ClassLoader was specified and ObjectInputStream's own default class loader failed.protected Class<?>resolveClass(ObjectStreamClass classDesc) protected Class<?>resolveFallbackIfPossible(String className, ClassNotFoundException ex) Resolve the given class name against a fallback class loader.protected Class<?>resolveProxyClass(String[] interfaces) Methods inherited from class java.io.ObjectInputStreamavailable, 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, resolveObject, setObjectInputFilter, skipBytesMethods inherited from class java.io.InputStreammark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferToMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.io.ObjectInputread, skip
- 
Constructor Details- 
ConfigurableObjectInputStreampublic ConfigurableObjectInputStream(InputStream in, @Nullable ClassLoader classLoader) throws 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:
- IOException
- See Also:
 
- 
ConfigurableObjectInputStreampublic ConfigurableObjectInputStream(InputStream in, @Nullable ClassLoader classLoader, boolean acceptProxyClasses) throws 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:
- IOException
- See Also:
 
 
- 
- 
Method Details- 
resolveClassprotected Class<?> resolveClass(ObjectStreamClass classDesc) throws IOException, ClassNotFoundException - Overrides:
- resolveClassin class- ObjectInputStream
- Throws:
- IOException
- ClassNotFoundException
 
- 
resolveProxyClassprotected Class<?> resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException - Overrides:
- resolveProxyClassin class- ObjectInputStream
- Throws:
- IOException
- ClassNotFoundException
 
- 
resolveFallbackIfPossibleprotected Class<?> resolveFallbackIfPossible(String className, ClassNotFoundException ex) throws IOException, 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:
- IOException
- ClassNotFoundException
 
- 
getFallbackClassLoaderReturn the fallback ClassLoader to use when no ClassLoader was specified and ObjectInputStream's own default class loader failed.The default implementation simply returns null, indicating that no specific fallback is available.- Throws:
- IOException
 
 
-