Class AliasingObjectInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.ObjectInputStream
-
- com.inductiveautomation.ignition.gateway.cluster.ModuleObjectInputStream
-
- com.inductiveautomation.ignition.gateway.cluster.AliasingObjectInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.DataInput
,java.io.ObjectInput
,java.io.ObjectStreamConstants
,java.lang.AutoCloseable
public class AliasingObjectInputStream extends ModuleObjectInputStream
This ObjectInputStream will use the defined alias class when deserializing, or if not defined or class doesn't match alias, then this ObjectInputStream will deserialize using the local class descriptor if the descriptor from the serialized stream doesn't have an identical serial version UID. This will ensure that the local descriptor is used to prevent incompatible classes due to Serializable class definition or path changes between versions.
-
-
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 Constructor Description AliasingObjectInputStream(java.io.InputStream is, ModuleManager moduleManager)
AliasingObjectInputStream(java.io.InputStream is, ModuleManager moduleManager, java.util.Map<java.lang.String,java.lang.String> aliasClassPaths)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.io.ObjectStreamClass
readClassDescriptor()
-
Methods inherited from class com.inductiveautomation.ignition.gateway.cluster.ModuleObjectInputStream
close, resolveClass
-
Methods inherited from class java.io.ObjectInputStream
available, 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, transferTo
-
-
-
-
Constructor Detail
-
AliasingObjectInputStream
public AliasingObjectInputStream(java.io.InputStream is, ModuleManager moduleManager) throws java.io.IOException
- Throws:
java.io.IOException
-
AliasingObjectInputStream
public AliasingObjectInputStream(java.io.InputStream is, ModuleManager moduleManager, java.util.Map<java.lang.String,java.lang.String> aliasClassPaths) throws java.io.IOException
- Throws:
java.io.IOException
-
-