Class ShadowingObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.CustomClassLoaderObjectInputStream<ClassLoader>
io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.RenamingObjectInputStream
io.deephaven.enterprise.compatibility.shadow.ShadowingObjectInputStream
- All Implemented Interfaces:
Closeable
,DataInput
,ObjectInput
,ObjectStreamConstants
,AutoCloseable
public class ShadowingObjectInputStream
extends io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.RenamingObjectInputStream
Enterprise makes extensive use of Java serialization through WObjectOutput/InputStream. Those Stream implementations
use a custom encoding to write the data too. The unfortunate consequence of this is that we'll end up with encoded
package names that do not match our shadowed versions. This class attempts to dynamically rewrite certain package
prefixes at load time into their shadowed versions.
-
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ObjectStreamClass
resolveClassDescriptorOverride
(@NotNull ObjectStreamClass input) Methods inherited from class io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.RenamingObjectInputStream
readClassDescriptor, readClassDescriptorOverride, resolveClass
Methods inherited from class io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.CustomClassLoaderObjectInputStream
getClassLoader
Methods inherited from class java.io.ObjectInputStream
available, close, defaultReadObject, enableResolveObject, getObjectInputFilter, read, read, readBoolean, readByte, readChar, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveObject, resolveProxyClass, setObjectInputFilter, skipBytes
Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
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 Details
-
ShadowingObjectInputStream
- Throws:
IOException
-
-
Method Details
-
resolveClassDescriptorOverride
protected ObjectStreamClass resolveClassDescriptorOverride(@NotNull @NotNull ObjectStreamClass input) throws ClassNotFoundException - Overrides:
resolveClassDescriptorOverride
in classio.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.RenamingObjectInputStream
- Throws:
ClassNotFoundException
-