public final class CustomObjectInputStream
extends java.io.ObjectInputStream
ObjectInputStream
that loads from the
class loader for this web application. This allows classes defined only
with the web application to be found correctly.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 |
---|
CustomObjectInputStream(java.io.InputStream stream,
java.lang.ClassLoader classLoader)
Construct a new instance of CustomObjectInputStream without any filtering
of deserialized classes.
|
CustomObjectInputStream(java.io.InputStream stream,
java.lang.ClassLoader classLoader,
Log log,
java.util.regex.Pattern allowedClassNamePattern,
boolean warnOnFailure)
Construct a new instance of CustomObjectInputStream with filtering of
deserialized classes.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Class<?> |
resolveClass(java.io.ObjectStreamClass classDesc)
Load the local class equivalent of the specified stream class
description, by using the class loader assigned to this Context.
|
protected java.lang.Class<?> |
resolveProxyClass(java.lang.String[] interfaces)
Return a proxy class that implements the interfaces named in a proxy
class descriptor.
|
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 CustomObjectInputStream(java.io.InputStream stream, java.lang.ClassLoader classLoader) throws java.io.IOException
stream
- The input stream we will read fromclassLoader
- The class loader used to instantiate objectsjava.io.IOException
- if an input/output error occurspublic CustomObjectInputStream(java.io.InputStream stream, java.lang.ClassLoader classLoader, Log log, java.util.regex.Pattern allowedClassNamePattern, boolean warnOnFailure) throws java.io.IOException
stream
- The input stream we will read fromclassLoader
- The class loader used to instantiate objectslog
- The logger to use to report any issues. It may only be null if
the filterMode does not require loggingallowedClassNamePattern
- The regular expression to use to filter
deserialized classes. The fully qualified
class name must match this pattern for
deserialization to be allowed if filtering
is enabled.warnOnFailure
- Should any failures be logged?java.io.IOException
- if an input/output error occurspublic java.lang.Class<?> resolveClass(java.io.ObjectStreamClass classDesc) throws java.lang.ClassNotFoundException, java.io.IOException
resolveClass
in class java.io.ObjectInputStream
classDesc
- Class description from the input streamjava.lang.ClassNotFoundException
- if this class cannot be foundjava.io.IOException
- if an input/output error occursprotected 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
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.