Class TransientInjectableObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
com.vaadin.kubernetes.starter.sessiontracker.serialization.SerializationInputStream
com.vaadin.kubernetes.starter.sessiontracker.serialization.TransientInjectableObjectInputStream
- All Implemented Interfaces:
Closeable,DataInput,ObjectInput,ObjectStreamConstants,AutoCloseable
An
ObjectInputStream implementation that takes care to inject known
transient fields during deserialization.
It expects a stream written by TransientInjectableObjectOutputStream,
containing wrapper objects with details usable to inject transient fields on
deserialized object.
Injection is performed by a pluggable TransientHandler component,
taking as input a deserialized object and transient fields information in the
form of TransientDescriptor objects.-
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
ConstructorsConstructorDescriptionTransientInjectableObjectInputStream(InputStream in, TransientHandler injector) -
Method Summary
Modifier and TypeMethodDescriptionstatic ObjectonDebugMode(ObjectInputStream is, Function<DebugMode, Object> action) protected void<T> Tprotected Class<?>protected ObjectresolveObject(Object obj) 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, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, 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
-
TransientInjectableObjectInputStream
public TransientInjectableObjectInputStream(InputStream in, TransientHandler injector) throws IOException - Throws:
IOException
-
-
Method Details
-
readStreamHeader
- Overrides:
readStreamHeaderin classObjectInputStream- Throws:
IOException
-
resolveClass
- Overrides:
resolveClassin classObjectInputStream- Throws:
IOExceptionClassNotFoundException
-
readWithTransients
- Specified by:
readWithTransientsin classSerializationInputStream- Throws:
IOExceptionClassNotFoundException
-
resolveObject
- Overrides:
resolveObjectin classObjectInputStream
-
onDebugMode
-