Package ca.cgjennings.io
Class SEObjectInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.ObjectInputStream
-
- ca.cgjennings.io.SEObjectInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.DataInput
,java.io.ObjectInput
,java.io.ObjectStreamConstants
,java.lang.AutoCloseable
public class SEObjectInputStream extends java.io.ObjectInputStream
AnObjectInputStream
with additional features for Strange Eons. This input stream includes special support for serializing images. It also performs some transparent conversions to provide backwards compatibility with previous releases.- Since:
- 2.1
- Author:
- Chris Jennings
-
-
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 SEObjectInputStream(java.io.InputStream in)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.image.BufferedImage
readImage()
Reads an image from the stream that was previously written withSEObjectOutputStream.writeImage(java.awt.image.BufferedImage)
.java.lang.String
readString()
This is a convenience method that callsreadObject
and casts the result toString
before returning it.protected java.lang.Class<?>
resolveClass(java.io.ObjectStreamClass desc)
protected java.lang.Object
resolveObject(java.lang.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, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveProxyClass, setObjectInputFilter, skipBytes
-
Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, transferTo
-
-
-
-
Method Detail
-
resolveClass
protected java.lang.Class<?> resolveClass(java.io.ObjectStreamClass desc) throws java.io.IOException, java.lang.ClassNotFoundException
- Overrides:
resolveClass
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
resolveObject
protected java.lang.Object resolveObject(java.lang.Object obj) throws java.io.IOException
- Overrides:
resolveObject
in classjava.io.ObjectInputStream
- Throws:
java.io.IOException
-
readString
public java.lang.String readString() throws java.io.IOException, java.lang.ClassNotFoundException
This is a convenience method that callsreadObject
and casts the result toString
before returning it.- Returns:
- a string written to the stream at the current position
- Throws:
java.io.IOException
- if an I/O error occursjava.lang.ClassNotFoundException
- if the true class of the object cannot be loadedjava.lang.ClassCastException
- if the object at this point in the stream is not a string
-
readImage
public java.awt.image.BufferedImage readImage() throws java.io.IOException
Reads an image from the stream that was previously written withSEObjectOutputStream.writeImage(java.awt.image.BufferedImage)
.- Returns:
- an image in
TYPE_INT_RGB
orTYPE_INT_ARGB
format - Throws:
java.io.IOException
- if an I/O error occursjava.io.InvalidClassException
- if no image is found at this point in the stream
-
-