org.objectweb.carol.cmi
Class CmiOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.ObjectOutputStream
          extended by org.objectweb.carol.cmi.CmiOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.DataOutput, java.io.Flushable, java.io.ObjectOutput, java.io.ObjectStreamConstants

public class CmiOutputStream
extends java.io.ObjectOutputStream

To deserialize objects exchanged between CMI registries.

Author:
Simon Nieuviarts

Nested Class Summary
 
Nested classes/interfaces inherited from class java.io.ObjectOutputStream
java.io.ObjectOutputStream.PutField
 
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, 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
CmiOutputStream(java.io.OutputStream out)
          Create a new object for the output stream
 
Method Summary
protected  void annotateClass(java.lang.Class cl)
           
protected  void annotateProxyClass(java.lang.Class cl)
           
static byte[] serialize(java.lang.String key, java.rmi.Remote obj)
          Serialize a CMI_stub or a part of it
protected  void writeLocation(java.lang.String location)
           
 
Methods inherited from class java.io.ObjectOutputStream
close, defaultWriteObject, drain, enableReplaceObject, flush, putFields, replaceObject, reset, useProtocolVersion, write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeClassDescriptor, writeDouble, writeFields, writeFloat, writeInt, writeLong, writeObject, writeObjectOverride, writeShort, writeStreamHeader, writeUnshared, writeUTF
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CmiOutputStream

public CmiOutputStream(java.io.OutputStream out)
                throws java.io.IOException
Create a new object for the output stream

Parameters:
out - ouput stream
Throws:
java.io.IOException - if IO exception is encountered
Method Detail

annotateClass

protected void annotateClass(java.lang.Class cl)
                      throws java.io.IOException
Overrides:
annotateClass in class java.io.ObjectOutputStream
Throws:
java.io.IOException
See Also:
ObjectOutputStream.annotateClass(Class)

annotateProxyClass

protected void annotateProxyClass(java.lang.Class cl)
                           throws java.io.IOException
Overrides:
annotateProxyClass in class java.io.ObjectOutputStream
Throws:
java.io.IOException
See Also:
ObjectOutputStream.annotateProxyClass(Class)

writeLocation

protected void writeLocation(java.lang.String location)
                      throws java.io.IOException
Throws:
java.io.IOException
See Also:
ObjectOutputStream#writeLocation(Class)

serialize

public static byte[] serialize(java.lang.String key,
                               java.rmi.Remote obj)
                        throws java.rmi.RemoteException
Serialize a CMI_stub or a part of it

Parameters:
key - jndi-name associated with the remote object
obj - remote object
Returns:
byte array of the serialized object
Throws:
java.rmi.RemoteException - if an error occurs