Package org.refcodes.io
Class SerializableObjectInputStreamImpl
- java.lang.Object
-
- java.io.InputStream
-
- java.io.ObjectInputStream
-
- org.refcodes.io.SerializableObjectInputStreamImpl
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.DataInput
,java.io.ObjectInput
,java.io.ObjectStreamConstants
,java.lang.AutoCloseable
public class SerializableObjectInputStreamImpl extends java.io.ObjectInputStream
TheSerializableObjectInputStreamImpl
extends an ordinaryObjectInputStream
to also resolve primitive types. In former JDKs (not tested with current ones), primitive types caused problems when deserializing. This class addresses and patches this issue.Interesting enough that there were already virtual class definitions for the primitive types ("boolean.class" -
Boolean.TYPE
, "byte.class" -Byte.TYPE
, "char.clas" -Character.TYPE
, "int.class" -Integer.TYPE
, "double.class" -Double.TYPE
, "long.class" -Long.TYPE
, float.class" -Float.TYPE
).
-
-
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 SerializableObjectInputStreamImpl(java.io.InputStream in)
Instantiates a new serializable object input stream impl.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<?>
resolveClass(java.io.ObjectStreamClass aClass)
-
Methods inherited from class java.io.InputStream
mark, markSupported, read, readAllBytes, readNBytes, reset, skip, transferTo
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
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, skipBytes
-
-
-
-
Constructor Detail
-
SerializableObjectInputStreamImpl
public SerializableObjectInputStreamImpl(java.io.InputStream in) throws java.io.IOException, java.io.StreamCorruptedException
Instantiates a new serializable object input stream impl.- Parameters:
in
- the in- Throws:
java.io.IOException
- Signals that an I/O exception has occurred.java.io.StreamCorruptedException
- the stream corrupted exception
-
-