org.jboss.util.stream
Class CustomObjectInputStreamWithClassloader
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
org.jboss.util.stream.CustomObjectInputStreamWithClassloader
- All Implemented Interfaces:
- Closeable, DataInput, ObjectInput, ObjectStreamConstants
public class CustomObjectInputStreamWithClassloader
- extends ObjectInputStream
Customized object input stream that
- redefines
readClassDescriptor()
in order to read a short
class descriptor (just the class name) when deserializing an
object
- takes a class loader in its constructor and uses it to retrieve
the class definitions.
- Version:
- $Revision: 57194 $
- Author:
- Rickard Oberg, Francisco Reverbel
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 |
Methods inherited from class java.io.ObjectInputStream |
available, close, defaultReadObject, enableResolveObject, read, read, readBoolean, readByte, readChar, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveObject, skipBytes |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CustomObjectInputStreamWithClassloader
public CustomObjectInputStreamWithClassloader(InputStream in,
ClassLoader cl)
throws IOException
- Constructs a new instance with the given classloader and input stream.
- Parameters:
in
- stream to read objects fromcl
- classloader to use
- Throws:
IOException
readClassDescriptor
protected ObjectStreamClass readClassDescriptor()
throws IOException,
ClassNotFoundException
- Reads just the class name from this input stream.
- Overrides:
readClassDescriptor
in class ObjectInputStream
- Returns:
- a class description object
- Throws:
IOException
ClassNotFoundException
resolveClass
protected Class resolveClass(ObjectStreamClass classdesc)
throws IOException,
ClassNotFoundException
- Resolves the class described in the classdesc parameter. First, try the
default classloader (implemented by the super class). If it cannot
load the class, try the classloader given to this instance.
- Overrides:
resolveClass
in class ObjectInputStream
- Parameters:
classdesc
- class description object
- Returns:
- the Class corresponding to class description
- Throws:
IOException
- if an I/O error occurs
ClassNotFoundException
- if the class cannot be found
by the classloader
resolveProxyClass
protected Class resolveProxyClass(String[] interfaces)
throws IOException,
ClassNotFoundException
- Resolves the proxy class for the specified array of interfaces.
- Overrides:
resolveProxyClass
in class ObjectInputStream
- Parameters:
interfaces
- an array of interfaces
- Returns:
- the proxy class
- Throws:
IOException
- if an I/O error occurs
ClassNotFoundException
- if the class cannot be found
by the classloader
Copyright © 2002 JBoss Group, LLC. All Rights Reserved.