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.
codeBase
protected String codeBase
- The code base to be used to load classes.
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