Package org.jboss.marshalling
Class ObjectInputStreamUnmarshaller
- java.lang.Object
-
- org.jboss.marshalling.ObjectInputStreamUnmarshaller
-
- All Implemented Interfaces:
java.io.Closeable,java.io.DataInput,java.io.ObjectInput,java.lang.AutoCloseable,ByteInput,Unmarshaller
public class ObjectInputStreamUnmarshaller extends java.lang.Object implements Unmarshaller
An Unmarshaller which simply wraps an object stream. Useful for retrofitting and testing applications.
-
-
Field Summary
Fields Modifier and Type Field Description private java.io.ObjectInputStreamois
-
Constructor Summary
Constructors Constructor Description ObjectInputStreamUnmarshaller(java.io.ObjectInputStream ois)Construct a new instance which wraps the given stream.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description intavailable()Returns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking by the next invocation of a method for this input stream.voidclearClassCache()Discard the class cache.voidclearInstanceCache()Discard the instance cache.voidclose()voidfinish()Finish unmarshalling from a stream.intread()Reads the next byte of data from the input stream.intread(byte[] b)Read some bytes from the input stream into the given array.intread(byte[] buf, int off, int len)Read some bytes from the input stream into the given array.booleanreadBoolean()bytereadByte()charreadChar()doublereadDouble()floatreadFloat()voidreadFully(byte[] buf)voidreadFully(byte[] buf, int off, int len)intreadInt()java.lang.StringreadLine()Deprecated.longreadLong()java.lang.ObjectreadObject()<T> TreadObject(java.lang.Class<T> type)Read and return an object, cast to a specific type.java.lang.ObjectreadObjectUnshared()Read and return an unshared object.<T> TreadObjectUnshared(java.lang.Class<T> type)Read and return an unshared object, cast to a specific type.shortreadShort()intreadUnsignedByte()intreadUnsignedShort()java.lang.StringreadUTF()longskip(long n)Skips over and discards up tonbytes of data from this input stream.intskipBytes(int len)voidstart(ByteInput newInput)Begin unmarshalling from a stream.private static java.io.InvalidObjectExceptionwrongType(java.lang.ClassCastException e, java.lang.Class<?> expected, java.lang.Class<?> actual)
-
-
-
Method Detail
-
readObject
public java.lang.Object readObject() throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readObjectin interfacejava.io.ObjectInput- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
readObjectUnshared
public java.lang.Object readObjectUnshared() throws java.io.IOException, java.lang.ClassNotFoundExceptionRead and return an unshared object.- Specified by:
readObjectUnsharedin interfaceUnmarshaller- Returns:
- an unshared object
- Throws:
java.io.IOException- if an error occursjava.lang.ClassNotFoundException- if the class of a serialized object cannot be found
-
read
public int read() throws java.io.IOExceptionReads the next byte of data from the input stream. If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.
-
read
public int read(byte[] buf, int off, int len) throws java.io.IOExceptionRead some bytes from the input stream into the given array. Returns the number of bytes actually read (possibly zero), or -1 if the end of stream has been reached.- Specified by:
readin interfaceByteInput- Specified by:
readin interfacejava.io.ObjectInput- Parameters:
buf- the destination arrayoff- the offset into the array into which data should be readlen- the number of bytes to attempt to fill in the destination array- Returns:
- the number of bytes read (possibly zero), or -1 if the end of stream has been reached
- Throws:
java.io.IOException- if an error occurs
-
available
public int available() throws java.io.IOExceptionReturns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking by the next invocation of a method for this input stream.
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfacejava.io.ObjectInput- Throws:
java.io.IOException
-
readBoolean
public boolean readBoolean() throws java.io.IOException- Specified by:
readBooleanin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readByte
public byte readByte() throws java.io.IOException- Specified by:
readBytein interfacejava.io.DataInput- Throws:
java.io.IOException
-
readUnsignedByte
public int readUnsignedByte() throws java.io.IOException- Specified by:
readUnsignedBytein interfacejava.io.DataInput- Throws:
java.io.IOException
-
readChar
public char readChar() throws java.io.IOException- Specified by:
readCharin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readShort
public short readShort() throws java.io.IOException- Specified by:
readShortin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readUnsignedShort
public int readUnsignedShort() throws java.io.IOException- Specified by:
readUnsignedShortin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readInt
public int readInt() throws java.io.IOException- Specified by:
readIntin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readLong
public long readLong() throws java.io.IOException- Specified by:
readLongin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readFloat
public float readFloat() throws java.io.IOException- Specified by:
readFloatin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readDouble
public double readDouble() throws java.io.IOException- Specified by:
readDoublein interfacejava.io.DataInput- Throws:
java.io.IOException
-
readFully
public void readFully(byte[] buf) throws java.io.IOException- Specified by:
readFullyin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readFully
public void readFully(byte[] buf, int off, int len) throws java.io.IOException- Specified by:
readFullyin interfacejava.io.DataInput- Throws:
java.io.IOException
-
skipBytes
public int skipBytes(int len) throws java.io.IOException- Specified by:
skipBytesin interfacejava.io.DataInput- Throws:
java.io.IOException
-
readLine
@Deprecated public java.lang.String readLine() throws java.io.IOExceptionDeprecated.- Specified by:
readLinein interfacejava.io.DataInput- Throws:
java.io.IOException
-
readUTF
public java.lang.String readUTF() throws java.io.IOException- Specified by:
readUTFin interfacejava.io.DataInput- Throws:
java.io.IOException
-
read
public int read(byte[] b) throws java.io.IOExceptionRead some bytes from the input stream into the given array. Returns the number of bytes actually read (possibly zero), or -1 if the end of stream has been reached.
-
skip
public long skip(long n) throws java.io.IOExceptionSkips over and discards up tonbytes of data from this input stream. If the end of stream is reached, this method returns0in order to be consistent withInputStream.skip(long).
-
start
public void start(ByteInput newInput) throws java.io.IOException
Begin unmarshalling from a stream.- Specified by:
startin interfaceUnmarshaller- Parameters:
newInput- the new stream- Throws:
java.io.IOException- if an error occurs during setup, such as an invalid header
-
clearInstanceCache
public void clearInstanceCache() throws java.io.IOExceptionDiscard the instance cache.- Specified by:
clearInstanceCachein interfaceUnmarshaller- Throws:
java.io.IOException- if an error occurs
-
clearClassCache
public void clearClassCache() throws java.io.IOExceptionDiscard the class cache. Implicitly also discards the instance cache.- Specified by:
clearClassCachein interfaceUnmarshaller- Throws:
java.io.IOException- if an error occurs
-
finish
public void finish() throws java.io.IOExceptionFinish unmarshalling from a stream. Any transient class or instance cache is discarded.- Specified by:
finishin interfaceUnmarshaller- Throws:
java.io.IOException- if an error occurs
-
readObject
public <T> T readObject(java.lang.Class<T> type) throws java.lang.ClassNotFoundException, java.io.IOExceptionRead and return an object, cast to a specific type.- Specified by:
readObjectin interfaceUnmarshaller- Type Parameters:
T- the object type- Parameters:
type- the object class- Returns:
- the object read from the stream
- Throws:
java.lang.ClassNotFoundException- if the class of a serialized object cannot be foundjava.io.InvalidObjectException- if the object is not of the expected typejava.io.IOException- if an error occurs
-
readObjectUnshared
public <T> T readObjectUnshared(java.lang.Class<T> type) throws java.lang.ClassNotFoundException, java.io.IOExceptionRead and return an unshared object, cast to a specific type.- Specified by:
readObjectUnsharedin interfaceUnmarshaller- Type Parameters:
T- the object type- Parameters:
type- the object class- Returns:
- an unshared object
- Throws:
java.lang.ClassNotFoundException- if the class of a serialized object cannot be foundjava.io.InvalidObjectException- if the object is not of the expected typejava.io.IOException- if an error occurs
-
wrongType
private static java.io.InvalidObjectException wrongType(java.lang.ClassCastException e, java.lang.Class<?> expected, java.lang.Class<?> actual)
-
-