org.openorb.rmi.system
Class RMIOutputStream

java.lang.Object
  |
  +--java.io.OutputStream
        |
        +--org.omg.CORBA.portable.OutputStream
              |
              +--org.omg.CORBA_2_3.portable.OutputStream
                    |
                    +--org.openorb.iiop.CDROutputStream
                          |
                          +--org.openorb.rmi.system.RMIOutputStream
All Implemented Interfaces:
org.openorb.io.ExtendedOutputStream, org.apache.avalon.framework.logger.LogEnabled

public class RMIOutputStream
extends org.openorb.iiop.CDROutputStream
implements org.apache.avalon.framework.logger.LogEnabled

This class extends the standard OutputStream to marshall RMI specific types. The only justification for this class is that several OpenORB related optimizations are introduced. When the value handler implementation is the OpenORB's one then several methods are available that can speed up methods: value_extended_replace(), value_extended_get_IDs()

Version:
$Revision: 1.10 $ $Date: 2002/07/14 20:34:33 $
Author:
Jerome Daniel

Constructor Summary
RMIOutputStream(org.omg.CORBA.ORB orb, org.omg.GIOP.Version version, org.openorb.io.MarshalBuffer buf)
          Constructor used by message level, fragments may be sent as elements are appended to the stream, so create_input_stream is disallowed.
 
Method Summary
 void enableLogging(org.apache.avalon.framework.logger.Logger logger)
           
 void write_value(java.io.Serializable value)
          Write a value to a CDR stream
 void write_value(java.io.Serializable value, org.omg.CORBA.portable.BoxedValueHelper boxhelp)
          Write a value from a CDR stream
 void write_value(java.io.Serializable value, java.lang.Class clz)
          Write a value to a CDR stream
 void write_value(java.io.Serializable value, java.lang.String arg_repo_id)
          Write a value from a CDR stream
 
Methods inherited from class org.openorb.iiop.CDROutputStream
alignment, begin_encapsulation, close, create_input_stream, end_encapsulation, flush, index, orb, pending_alignment, setCodesets, version, write_abstract_interface, write_any, write_boolean_array, write_boolean, write_char_array, write_char, write_Context, write_double_array, write_double, write_fixed, write_fixed, write_fixed, write_float_array, write_float, write_long_array, write_long, write_longlong_array, write_longlong, write_Object, write_octet_array, write_octet, write_Principal, write_short_array, write_short, write_string, write_TypeCode, write_ulong_array, write_ulong, write_ulonglong_array, write_ulonglong, write_ushort_array, write_ushort, write_wchar_array, write_wchar, write_wstring, write, write, write
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RMIOutputStream

public RMIOutputStream(org.omg.CORBA.ORB orb,
                       org.omg.GIOP.Version version,
                       org.openorb.io.MarshalBuffer buf)
Constructor used by message level, fragments may be sent as elements are appended to the stream, so create_input_stream is disallowed.
Method Detail

enableLogging

public void enableLogging(org.apache.avalon.framework.logger.Logger logger)
Specified by:
enableLogging in interface org.apache.avalon.framework.logger.LogEnabled
Overrides:
enableLogging in class org.openorb.iiop.CDROutputStream

write_value

public void write_value(java.io.Serializable value)
Write a value to a CDR stream
Overrides:
write_value in class org.openorb.iiop.CDROutputStream

write_value

public void write_value(java.io.Serializable value,
                        java.lang.String arg_repo_id)
Write a value from a CDR stream
Overrides:
write_value in class org.openorb.iiop.CDROutputStream

write_value

public void write_value(java.io.Serializable value,
                        java.lang.Class clz)
Write a value to a CDR stream
Overrides:
write_value in class org.openorb.iiop.CDROutputStream

write_value

public void write_value(java.io.Serializable value,
                        org.omg.CORBA.portable.BoxedValueHelper boxhelp)
Write a value from a CDR stream
Overrides:
write_value in class org.openorb.iiop.CDROutputStream