org.jbpm.util
Class CustomLoaderObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
org.jbpm.util.CustomLoaderObjectInputStream
- All Implemented Interfaces:
- Closeable, DataInput, ObjectInput, ObjectStreamConstants
public class CustomLoaderObjectInputStream
- extends ObjectInputStream
Specialized object input stream that allows classes to be fetched through a
custom class loader if the stream is unable to resolve them in the usual
manner.
- Author:
- Alejandro Guizar
| 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, 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.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CustomLoaderObjectInputStream
protected CustomLoaderObjectInputStream()
throws IOException
- Provide a way for subclasses to not have to allocate private data just used
by the platform's implementation of ObjectInputStream.
- Throws:
IOException - if an I/O error occurs
CustomLoaderObjectInputStream
public CustomLoaderObjectInputStream(InputStream in)
throws IOException
- Creates a
CustomLoaderObjectInputStream that reads from the
specified input stream and resolves classes using the context class loader.
- Parameters:
in - input stream to read from
- Throws:
IOException - if an I/O error occurs while reading stream header
SecurityException - if untrusted subclass illegally overrides
security-sensitive methods; note that this class does not
override said methods
CustomLoaderObjectInputStream
public CustomLoaderObjectInputStream(InputStream in,
ClassLoader customLoader)
throws IOException
- Creates a
CustomLoaderObjectInputStream that reads from the
specified input stream and resolves classes using the given class loader.
- Parameters:
in - input stream to read fromcustomLoader - the loader to use for resolving classes
- Throws:
IOException - if an I/O error occurs while reading stream header
IllegalArgumentException - if customLoader is null
SecurityException - if untrusted subclass illegally overrides
security-sensitive methods; note that this class does not
override said methods
getCustomLoader
public ClassLoader getCustomLoader()
- Returns the loader used by this stream for resolving classes.
resolveClass
protected Class resolveClass(ObjectStreamClass desc)
throws IOException,
ClassNotFoundException
- Overrides:
resolveClass in class ObjectInputStream
- Throws:
IOException
ClassNotFoundException
resolveProxyClass
protected Class resolveProxyClass(String[] interfaces)
throws IOException,
ClassNotFoundException
- Overrides:
resolveProxyClass in class ObjectInputStream
- Throws:
IOException
ClassNotFoundException
Copyright © 2012 JBoss, a division of Red Hat, Inc.. All Rights Reserved.