CustomObjectInputStream (Apache Tomcat 6.0.53 API Documentation)
Keywords: org.apache.catalina.util.CustomObjectInputStream class

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

## org.apache.catalina.util
Class CustomObjectInputStream

    java.lang.Object
      java.io.InputStream
          java.io.ObjectInputStream
              org.apache.catalina.util.CustomObjectInputStream

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

    public final class CustomObjectInputStream

extends java.io.ObjectInputStream

Custom subclass of `ObjectInputStream` that loads from the class loader for this web application. This allows classes defined only with the web application to be found correctly.

Author:
  Craig R. McClanahan, Bip Thelin

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
`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.

Method Summary
`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.

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

### CustomObjectInputStream

    public CustomObjectInputStream(java.io.InputStream stream,
                                   java.lang.ClassLoader classLoader)
                            throws java.io.IOException

  Construct a new instance of CustomObjectInputStream without any filtering of deserialized classes.

  Parameters:
    `stream` - The input stream we will read from
    `classLoader` - The class loader used to instantiate objects
  Throws:
    `java.io.IOException` - if an input/output error occurs

### CustomObjectInputStream

    public CustomObjectInputStream(java.io.InputStream stream,
                                   java.lang.ClassLoader classLoader,
                                   Log log,
                                   java.util.regex.Pattern allowedClassNamePattern,
                                   boolean warnOnFailure)
                            throws java.io.IOException

  Construct a new instance of CustomObjectInputStream with filtering of deserialized classes.

  Parameters:
    `stream` - The input stream we will read from
    `classLoader` - The class loader used to instantiate objects
    `log` - The logger to use to report any issues. It may only be null if the filterMode does not require logging
    `allowedClassNamePattern` - 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?
  Throws:
    `java.io.IOException` - if an input/output error occurs

Method Detail

### resolveClass

    public java.lang.Class<?> resolveClass(java.io.ObjectStreamClass classDesc)
                                    throws java.lang.ClassNotFoundException,
                                           java.io.IOException

  Load the local class equivalent of the specified stream class description, by using the class loader assigned to this Context.

  Overrides:
    `resolveClass` in class `java.io.ObjectInputStream`
  Parameters:
    `classDesc` - Class description from the input stream
  Throws:
    `java.lang.ClassNotFoundException` - if this class cannot be found
    `java.io.IOException` - if an input/output error occurs

### resolveProxyClass

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

  Return a proxy class that implements the interfaces named in a proxy class descriptor. Do this using the class loader assigned to this Context.

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

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

Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.