Class ShadowingPersistentInputStream
java.lang.Object
io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.WObjectInputStream
io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.PersistentInputStream
io.deephaven.enterprise.compatibility.shadow.ShadowingPersistentInputStream
- All Implemented Interfaces:
- io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.WObjectStreamConstants,- Closeable,- DataInput,- ObjectInput,- AutoCloseable
public class ShadowingPersistentInputStream
extends io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.PersistentInputStream
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 SummaryNested classes/interfaces inherited from class io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.WObjectInputStreamio.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.WObjectInputStream.ObjectConverter, io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.WObjectInputStream.WrappedObjectInputStream
- 
Field SummaryFields inherited from class io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.WObjectInputStreamin_Fields inherited from interface io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.WObjectStreamConstantsADD_CLASS, ADD_COLUMN_SET_CLASS, ADD_ENUM, ADD_ENUM_LONG, ADO_ARRAY_TYPE, ARRAY_TYPE, BOOLEAN_TYPE, BYTE_ARRAY_TYPE, BYTE_TYPE, DATE_TYPE, DOUBLE_ARRAY_TYPE, DOUBLE_TYPE, FLOAT_ARRAY_TYPE, FLOAT_TYPE, INT_ARRAY_TYPE, INTEGER_TYPE, KNOWN_ENUM, KNOWN_ENUM_LONG, LINKED_MAP_TYPE, LINKED_SET_TYPE, LONG_ARRAY_TYPE, LONG_STRING_TYPE, LONG_TYPE, MAP_TYPE, NULL_TYPE, OBJECT_TYPE, SET_TYPE, STRING_ARRAY_TYPE, STRING_TYPE, TREE_MAP_TYPE, TREE_SET_TYPE
- 
Constructor SummaryConstructorsConstructorDescriptionShadowingPersistentInputStream(@NotNull InputStream in, @NotNull ClassLoader classLoader) 
- 
Method SummaryModifier and TypeMethodDescriptionprotected io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.WObjectInputStream.ObjectConvertergetReaderForType(@NotNull String typeString) There are a few different paths within WObjectInputStream that resolve packages to real classes, this one handles the path when the object is plainly encoded in the stream.protected ObjectStreamClassresolveClassDescriptorOverride(@NotNull ObjectStreamClass input) Methods inherited from class io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.PersistentInputStreamgetColumnSet, getConversionSchemaMethods inherited from class io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.WObjectInputStreamavailable, close, getClassForType, read, read, read, readBoolean, readByte, readChar, readClassDescriptorOverride, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readShort, readUnsignedByte, readUnsignedShort, readUTF, skip, skipBytes
- 
Constructor Details- 
ShadowingPersistentInputStreampublic ShadowingPersistentInputStream(@NotNull @NotNull InputStream in, @NotNull @NotNull ClassLoader classLoader) throws IOException, ClassNotFoundException - Throws:
- IOException
- ClassNotFoundException
 
 
- 
- 
Method Details- 
resolveClassDescriptorOverrideprotected ObjectStreamClass resolveClassDescriptorOverride(@NotNull @NotNull ObjectStreamClass input) throws ClassNotFoundException - Overrides:
- resolveClassDescriptorOverridein class- io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.WObjectInputStream
- Throws:
- ClassNotFoundException
 
- 
getReaderForTypeprotected io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.WObjectInputStream.ObjectConverter getReaderForType(@NotNull @NotNull String typeString) throws ClassNotFoundException There are a few different paths within WObjectInputStream that resolve packages to real classes, this one handles the path when the object is plainly encoded in the stream.- Overrides:
- getReaderForTypein class- io.deephaven.shadow.enterprise.com.fishlib.dataobjects.persistence.WObjectInputStream
- Parameters:
- typeString- the input type being read
- Returns:
- an WObjectInputStream.ObjectConverter
- Throws:
- ClassNotFoundException- if the conversion was not possible
 
 
-