org.objectweb.jonas_ejb.container
Class JStatefulInputStream

java.lang.Object
  extended byjava.io.InputStream
      extended byjava.io.ObjectInputStream
          extended byorg.objectweb.jonas_ejb.container.JStatefulInputStream
All Implemented Interfaces:
java.io.DataInput, java.io.ObjectInput, java.io.ObjectStreamConstants
Direct Known Subclasses:
JRepStatefulInputStream

public class JStatefulInputStream
extends java.io.ObjectInputStream

Extends ObjectInputStream because we want to enable resolveObject. This class is very related to JStatefulOutputStream


Nested Class Summary
 
Nested classes inherited from class java.io.ObjectInputStream
java.io.ObjectInputStream.GetField
 
Field Summary
 
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
 
Constructor Summary
JStatefulInputStream(java.io.InputStream in, JStatefulSwitch jss)
          Constructor.
 
Method Summary
protected  java.lang.Class resolveClass(java.io.ObjectStreamClass v)
          Use the thread context class loader to resolve the class
protected  java.lang.Object resolveObject(java.lang.Object obj)
          We must care about some object types.
 
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.io.InputStream
mark, markSupported, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.io.ObjectInput
read, skip
 

Constructor Detail

JStatefulInputStream

public JStatefulInputStream(java.io.InputStream in,
                            JStatefulSwitch jss)
                     throws java.io.IOException
Constructor.

Throws:
java.io.IOException
Method Detail

resolveObject

protected java.lang.Object resolveObject(java.lang.Object obj)
                                  throws java.io.IOException
We must care about some object types. See EJB spec. 7.4.1

Parameters:
obj - serialized field
Returns:
resolved object
Throws:
java.io.IOException

resolveClass

protected java.lang.Class resolveClass(java.io.ObjectStreamClass v)
                                throws java.io.IOException,
                                       java.lang.ClassNotFoundException
Use the thread context class loader to resolve the class

Parameters:
v - class to resolve
Returns:
class resolved
Throws:
java.io.IOException - thrown by the underlying InputStream.
java.lang.ClassNotFoundException - thrown by the underlying InputStream.