Package org.jboss.marshalling
Class MarshallerObjectInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.ObjectInputStream
-
- org.jboss.marshalling.MarshallerObjectInputStream
-
- All Implemented Interfaces:
Closeable
,DataInput
,ObjectInput
,ObjectStreamConstants
,AutoCloseable
,ByteInput
public abstract class MarshallerObjectInputStream extends ObjectInputStream implements ByteInput
A marshaller's object input stream. Used by marshallers for compatibility with Java serialization. Instances of this class may be passed in to the overridden serialization methods for a class implementingSerializable
.This class is not part of the marshalling API; rather it is intended for marshaller implementers to make it easier to develop Java serialization-compatible marshallers.
-
-
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
Constructors Modifier Constructor Description protected
MarshallerObjectInputStream(Unmarshaller input)
Construct a new instance which delegates to the given unmarshaller.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description int
available()
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.void
close()
abstract void
defaultReadObject()
protected boolean
enableResolveObject(boolean enable)
void
mark(int readlimit)
boolean
markSupported()
int
read()
Reads the next byte of data from the input stream.int
read(byte[] buf)
Read some bytes from the input stream into the given array.int
read(byte[] buf, int off, int len)
Read some bytes from the input stream into the given array.boolean
readBoolean()
byte
readByte()
char
readChar()
protected ObjectStreamClass
readClassDescriptor()
double
readDouble()
abstract ObjectInputStream.GetField
readFields()
float
readFloat()
void
readFully(byte[] buf)
void
readFully(byte[] buf, int off, int len)
int
readInt()
String
readLine()
Deprecated.long
readLong()
protected Object
readObjectOverride()
short
readShort()
protected void
readStreamHeader()
Object
readUnshared()
int
readUnsignedByte()
int
readUnsignedShort()
String
readUTF()
abstract void
registerValidation(ObjectInputValidation obj, int prio)
void
reset()
protected Class<?>
resolveClass(ObjectStreamClass desc)
protected Object
resolveObject(Object obj)
protected Class<?>
resolveProxyClass(String[] interfaces)
long
skip(long n)
Skips over and discards up ton
bytes of data from this input stream.int
skipBytes(int len)
-
Methods inherited from class java.io.ObjectInputStream
getObjectInputFilter, readObject, setObjectInputFilter
-
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
Constructor Detail
-
MarshallerObjectInputStream
protected MarshallerObjectInputStream(Unmarshaller input) throws IOException, SecurityException
Construct a new instance which delegates to the given unmarshaller.- Parameters:
input
- the delegate unmarshaller- Throws:
IOException
- if an I/O error occursSecurityException
- if the caller does not have permission to construct an instance of this class
-
-
Method Detail
-
readObjectOverride
protected Object readObjectOverride() throws IOException, ClassNotFoundException
- Overrides:
readObjectOverride
in classObjectInputStream
- Throws:
IOException
ClassNotFoundException
-
readUnshared
public Object readUnshared() throws IOException, ClassNotFoundException
- Overrides:
readUnshared
in classObjectInputStream
- Throws:
IOException
ClassNotFoundException
-
read
public int read() throws IOException
Reads 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.- Specified by:
read
in interfaceByteInput
- Specified by:
read
in interfaceObjectInput
- Overrides:
read
in classObjectInputStream
- Returns:
- the next byte, or -1 if the end of stream has been reached
- Throws:
IOException
- if an error occurs
-
read
public int read(byte[] buf) throws IOException
Read 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:
read
in interfaceByteInput
- Specified by:
read
in interfaceObjectInput
- Overrides:
read
in classInputStream
- Parameters:
buf
- the destination array- Returns:
- the number of bytes read (possibly zero), or -1 if the end of stream has been reached
- Throws:
IOException
- if an error occurs
-
read
public int read(byte[] buf, int off, int len) throws IOException
Read 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:
read
in interfaceByteInput
- Specified by:
read
in interfaceObjectInput
- Overrides:
read
in classObjectInputStream
- 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:
IOException
- if an error occurs
-
available
public int available() throws IOException
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.- Specified by:
available
in interfaceByteInput
- Specified by:
available
in interfaceObjectInput
- Overrides:
available
in classObjectInputStream
- Returns:
- the number of bytes
- Throws:
IOException
- if an error occurs
-
readBoolean
public boolean readBoolean() throws IOException
- Specified by:
readBoolean
in interfaceDataInput
- Overrides:
readBoolean
in classObjectInputStream
- Throws:
IOException
-
readByte
public byte readByte() throws IOException
- Specified by:
readByte
in interfaceDataInput
- Overrides:
readByte
in classObjectInputStream
- Throws:
IOException
-
readUnsignedByte
public int readUnsignedByte() throws IOException
- Specified by:
readUnsignedByte
in interfaceDataInput
- Overrides:
readUnsignedByte
in classObjectInputStream
- Throws:
IOException
-
readChar
public char readChar() throws IOException
- Specified by:
readChar
in interfaceDataInput
- Overrides:
readChar
in classObjectInputStream
- Throws:
IOException
-
readShort
public short readShort() throws IOException
- Specified by:
readShort
in interfaceDataInput
- Overrides:
readShort
in classObjectInputStream
- Throws:
IOException
-
readUnsignedShort
public int readUnsignedShort() throws IOException
- Specified by:
readUnsignedShort
in interfaceDataInput
- Overrides:
readUnsignedShort
in classObjectInputStream
- Throws:
IOException
-
readInt
public int readInt() throws IOException
- Specified by:
readInt
in interfaceDataInput
- Overrides:
readInt
in classObjectInputStream
- Throws:
IOException
-
readLong
public long readLong() throws IOException
- Specified by:
readLong
in interfaceDataInput
- Overrides:
readLong
in classObjectInputStream
- Throws:
IOException
-
readFloat
public float readFloat() throws IOException
- Specified by:
readFloat
in interfaceDataInput
- Overrides:
readFloat
in classObjectInputStream
- Throws:
IOException
-
readDouble
public double readDouble() throws IOException
- Specified by:
readDouble
in interfaceDataInput
- Overrides:
readDouble
in classObjectInputStream
- Throws:
IOException
-
readFully
public void readFully(byte[] buf) throws IOException
- Specified by:
readFully
in interfaceDataInput
- Overrides:
readFully
in classObjectInputStream
- Throws:
IOException
-
readFully
public void readFully(byte[] buf, int off, int len) throws IOException
- Specified by:
readFully
in interfaceDataInput
- Overrides:
readFully
in classObjectInputStream
- Throws:
IOException
-
skipBytes
public int skipBytes(int len) throws IOException
- Specified by:
skipBytes
in interfaceDataInput
- Overrides:
skipBytes
in classObjectInputStream
- Throws:
IOException
-
readLine
@Deprecated public String readLine() throws IOException
Deprecated.- Specified by:
readLine
in interfaceDataInput
- Overrides:
readLine
in classObjectInputStream
- Throws:
IOException
-
readUTF
public String readUTF() throws IOException
- Specified by:
readUTF
in interfaceDataInput
- Overrides:
readUTF
in classObjectInputStream
- Throws:
IOException
-
skip
public long skip(long n) throws IOException
Skips over and discards up ton
bytes of data from this input stream. If the end of stream is reached, this method returns0
in order to be consistent withInputStream.skip(long)
.- Specified by:
skip
in interfaceByteInput
- Specified by:
skip
in interfaceObjectInput
- Overrides:
skip
in classInputStream
- Parameters:
n
- the number of bytes to attempt to skip- Returns:
- the number of bytes skipped
- Throws:
IOException
- if an error occurs
-
mark
public final void mark(int readlimit)
- Overrides:
mark
in classInputStream
-
reset
public final void reset() throws IOException
- Overrides:
reset
in classInputStream
- Throws:
IOException
-
markSupported
public final boolean markSupported()
- Overrides:
markSupported
in classInputStream
-
close
public final void close() throws IllegalStateException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceObjectInput
- Overrides:
close
in classObjectInputStream
- Throws:
IllegalStateException
-
resolveClass
protected final Class<?> resolveClass(ObjectStreamClass desc) throws IllegalStateException
- Overrides:
resolveClass
in classObjectInputStream
- Throws:
IllegalStateException
-
resolveProxyClass
protected final Class<?> resolveProxyClass(String[] interfaces) throws IllegalStateException
- Overrides:
resolveProxyClass
in classObjectInputStream
- Throws:
IllegalStateException
-
resolveObject
protected final Object resolveObject(Object obj) throws IllegalStateException
- Overrides:
resolveObject
in classObjectInputStream
- Throws:
IllegalStateException
-
enableResolveObject
protected final boolean enableResolveObject(boolean enable) throws IllegalStateException
- Overrides:
enableResolveObject
in classObjectInputStream
- Throws:
IllegalStateException
-
readStreamHeader
protected final void readStreamHeader() throws IllegalStateException
- Overrides:
readStreamHeader
in classObjectInputStream
- Throws:
IllegalStateException
-
readClassDescriptor
protected final ObjectStreamClass readClassDescriptor() throws IllegalStateException
- Overrides:
readClassDescriptor
in classObjectInputStream
- Throws:
IllegalStateException
-
defaultReadObject
public abstract void defaultReadObject() throws IOException, ClassNotFoundException
- Overrides:
defaultReadObject
in classObjectInputStream
- Throws:
IOException
ClassNotFoundException
-
readFields
public abstract ObjectInputStream.GetField readFields() throws IOException, ClassNotFoundException
- Overrides:
readFields
in classObjectInputStream
- Throws:
IOException
ClassNotFoundException
-
registerValidation
public abstract void registerValidation(ObjectInputValidation obj, int prio) throws NotActiveException, InvalidObjectException
- Overrides:
registerValidation
in classObjectInputStream
- Throws:
NotActiveException
InvalidObjectException
-
-