public class ConfigurableObjectInputStream extends ObjectInputStream
CodebaseAwareObjectInputStream
.ObjectInputStream.GetField
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(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.
|
Modifier and Type | Method and Description |
---|---|
protected ClassLoader |
getFallbackClassLoader()
Return 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) |
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
mark, markSupported, read, reset, skip
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
read, skip
public ConfigurableObjectInputStream(InputStream in, @Nullable ClassLoader classLoader) throws IOException
in
- the InputStream to read fromclassLoader
- the ClassLoader to use for loading local classesIOException
ObjectInputStream.ObjectInputStream(java.io.InputStream)
public ConfigurableObjectInputStream(InputStream in, @Nullable ClassLoader classLoader, boolean acceptProxyClasses) throws 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)IOException
ObjectInputStream.ObjectInputStream(java.io.InputStream)
protected Class<?> resolveClass(ObjectStreamClass classDesc) throws IOException, ClassNotFoundException
resolveClass
in class ObjectInputStream
IOException
ClassNotFoundException
protected Class<?> resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException
resolveProxyClass
in class ObjectInputStream
IOException
ClassNotFoundException
protected Class<?> resolveFallbackIfPossible(String className, ClassNotFoundException ex) throws IOException, 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
)IOException
ClassNotFoundException
@Nullable protected ClassLoader getFallbackClassLoader() throws IOException
The default implementation simply returns null
, indicating
that no specific fallback is available.
IOException