Package org.apache.geode.modules.util
Class ClassLoaderObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
org.apache.geode.modules.util.ClassLoaderObjectInputStream
- All Implemented Interfaces:
Closeable,DataInput,ObjectInput,ObjectStreamConstants,AutoCloseable
This class is used when session attributes need to be reconstructed with a new classloader.
It now supports ObjectInputFilter for secure deserialization.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.io.ObjectInputStream
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, SERIAL_FILTER_PERMISSION, 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
ConstructorsConstructorDescriptionClassLoaderObjectInputStream(InputStream in, ClassLoader loader) Deprecated.ClassLoaderObjectInputStream(InputStream in, ClassLoader loader, ObjectInputFilter filter) Constructs a ClassLoaderObjectInputStream with an ObjectInputFilter for secure deserialization. -
Method Summary
Methods inherited from class java.io.ObjectInputStream
available, close, defaultReadObject, enableResolveObject, getObjectInputFilter, read, read, readBoolean, readByte, readChar, readClassDescriptor, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveObject, resolveProxyClass, setObjectInputFilter, skipBytesMethods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferToMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.io.ObjectInput
read, skip
-
Constructor Details
-
ClassLoaderObjectInputStream
public ClassLoaderObjectInputStream(InputStream in, ClassLoader loader, ObjectInputFilter filter) throws IOException Constructs a ClassLoaderObjectInputStream with an ObjectInputFilter for secure deserialization.- Parameters:
in- the input stream to read fromloader- the ClassLoader to use for class resolutionfilter- the ObjectInputFilter to validate deserialized classes (required for security)- Throws:
IOException- if an I/O error occurs
-
ClassLoaderObjectInputStream
@Deprecated public ClassLoaderObjectInputStream(InputStream in, ClassLoader loader) throws IOException Deprecated.UseClassLoaderObjectInputStream(InputStream, ClassLoader, ObjectInputFilter)with a filter for secure deserializationLegacy constructor for backward compatibility.- Throws:
IOException
-
-
Method Details
-
resolveClass
- Overrides:
resolveClassin classObjectInputStream- Throws:
ClassNotFoundException
-
ClassLoaderObjectInputStream(InputStream, ClassLoader, ObjectInputFilter)with a filter for secure deserialization