public class ConfigurableObjectInputStream
extends java.io.ObjectInputStream
CodebaseAwareObjectInputStream
.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 and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
protected java.lang.ClassLoader |
getFallbackClassLoader()
Return the fallback ClassLoader to use when no ClassLoader was specified
and ObjectInputStream's own default class loader 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) |
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
public ConfigurableObjectInputStream(java.io.InputStream in, @Nullable java.lang.ClassLoader classLoader) throws java.io.IOException
in
- the InputStream to read fromclassLoader
- the ClassLoader to use for loading local classesjava.io.IOException
ObjectInputStream.ObjectInputStream(java.io.InputStream)
public ConfigurableObjectInputStream(java.io.InputStream in, @Nullable java.lang.ClassLoader classLoader, boolean acceptProxyClasses) throws java.io.IOException
in
- the InputStream to read fromclassLoader
- the ClassLoader to use for loading local classesacceptProxyClasses
- whether to accept deserialization of proxy classes
(may be deactivated as a security measure)java.io.IOException
ObjectInputStream.ObjectInputStream(java.io.InputStream)
protected java.lang.Class<?> resolveClass(java.io.ObjectStreamClass classDesc) throws java.io.IOException, java.lang.ClassNotFoundException
resolveClass
in class java.io.ObjectInputStream
java.io.IOException
java.lang.ClassNotFoundException
protected java.lang.Class<?> resolveProxyClass(java.lang.String[] interfaces) throws java.io.IOException, java.lang.ClassNotFoundException
resolveProxyClass
in class java.io.ObjectInputStream
java.io.IOException
java.lang.ClassNotFoundException
protected java.lang.Class<?> resolveFallbackIfPossible(java.lang.String className, java.lang.ClassNotFoundException ex) throws java.io.IOException, java.lang.ClassNotFoundException
The default implementation simply rethrows the original exception, since there is no fallback available.
className
- the class name to resolveex
- the original exception thrown when attempting to load the classnull
)java.io.IOException
java.lang.ClassNotFoundException
@Nullable protected java.lang.ClassLoader getFallbackClassLoader() throws java.io.IOException
The default implementation simply returns null
, indicating
that no specific fallback is available.
java.io.IOException