org.objectweb.fractal.rmi.io
Class RmiObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
org.objectweb.fractal.rmi.io.RmiObjectInputStream
- All Implemented Interfaces:
- DataInput, ObjectInput, ObjectStreamConstants
- public class RmiObjectInputStream
- extends ObjectInputStream
An ObjectInputStream
that replaces Ref
objects with stubs.
Fields inherited from interface java.io.ObjectStreamConstants |
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, 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_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING |
Methods inherited from class java.io.ObjectInputStream |
available, close, defaultReadObject, enableResolveObject, read, read, readBoolean, readByte, readChar, readClassDescriptor, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveProxyClass, skipBytes |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
domain
protected NamingContext domain
- The naming context used to decode the identifiers contained in
Ref
objects.
contextFactory
protected ContextFactory contextFactory
- The context factory used to create hints for the
bind
method.
RmiObjectInputStream
public RmiObjectInputStream(InputStream is,
NamingContext domain,
ContextFactory contextFactory)
throws IOException
- Constructs a new
RmiObjectInputStream
.
- Parameters:
is
- the underlying input stream.domain
- the naming context to be used to decode the identifiers
contained in Ref
objects.contextFactory
- the context factory to be used to create hints for
the bind
method.
- Throws:
IOException
- if the super constructor throws an exception.
resolveObject
protected Object resolveObject(Object obj)
throws IOException
- Replaces
Ref
objects with corresponding stubs. This method uses
the domain
to decode the identifier encoded in a Ref
object, and then uses the bind
method of the
decoded identifier to get a stub corresponding to this identifier. The
type stored in the Ref
object is passed as an hint to the
bind
method.
- Parameters:
obj
- an object.
- Returns:
- a stub if obj is a
Ref
object, or obj
otherwise.
- Throws:
IOException
- if a Ref
object cannot be replaced with a
stub.
resolveClass
protected Class resolveClass(ObjectStreamClass desc)
throws IOException,
ClassNotFoundException
- Throws:
IOException
ClassNotFoundException