public class RMIObjectInputStream extends ObjectInputStream
RMIObjectOutputStream
. Specialized behavior includes class
resolution using RMIClassLoader
, and caching of class
descriptors.ObjectInputStream.GetField
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_ENUM, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, 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 and Description |
---|
RMIObjectInputStream(InputStream in)
Constructs a new RMIObjectInputStream that ready from the
specified
InputStream . |
Modifier and Type | Method and Description |
---|---|
protected ObjectStreamClass |
readClassDescriptor()
Implementation of the
ObjectInputStream.readClassDescriptor() callback. |
protected void |
readStreamHeader()
Implementation of the
ObjectInputStream.readStreamHeader() callback. |
protected Class |
resolveClass(ObjectStreamClass desc)
Implementation of the
ObjectInputStream.resolveClass(ObjectStreamClass) callback. |
protected Class |
resolveProxyClass(String[] interfaces)
Implementation of the
ObjectInputStream.resolveProxyClass(String[]) callback. |
available, close, defaultReadObject, enableResolveObject, read, read, readBoolean, readByte, readChar, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveObject, skipBytes
mark, markSupported, read, reset, skip
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
read, skip
public RMIObjectInputStream(InputStream in) throws IOException
InputStream
.in
- the InputStream
to use for inputIOException
protected Class resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException
ObjectInputStream.resolveClass(ObjectStreamClass)
callback.
This implementation delegates to RMIClassLoader
.resolveClass
in class ObjectInputStream
desc
- the ObjectStreamClass
serialized
representation of the class objectClass
object corresponding to the
serialized class objectIOException
- if there is an error with the underlying streamClassNotFoundException
- if the serialized class cannot
be locatedprotected Class resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException
ObjectInputStream.resolveProxyClass(String[])
callback. This
implementation delegates to RMIClassLoader
.resolveProxyClass
in class ObjectInputStream
interfaces
- the interfaces implemented by the serialized
proxy classClass
object corresponding to the
serialized class objectIOException
- if there is an error with the underlying streamClassNotFoundException
- if any of the serialized
interfaces cannot be locatedprotected ObjectStreamClass readClassDescriptor() throws IOException, ClassNotFoundException
ObjectInputStream.readClassDescriptor()
callback. This
implementation reads a class id from the underlying input
stream and either delegates to its superclass to read in a full
class descriptor or uses the id to return a previosuly read
class descriptor.readClassDescriptor
in class ObjectInputStream
ObjectStreamClass
IOException
ClassNotFoundException
protected void readStreamHeader()
ObjectInputStream.readStreamHeader()
callback. This
implementation is specifically overridden to do nothing. See
ObjectOutputStream.writeStreamHeader()
for
details.readStreamHeader
in class ObjectInputStream