Issue 2484: Need read_Value(clz) on InputStream (java2idl-rtf) Source: (, ) Nature: Uncategorized Issue Severity: Summary: Summary: It is possible for an RMI/IDL value class to contain an IDLEntity type that was mapped from an IDL valuetype. In this case, the GIOP encoding of the IDLEntity type sent by an IDL/Java or C++ application to an RMI-IIOP appplication may not contain type information (if the actual type is the same as the declared type). In order to allow the ValueHandler to demarshal these IDLEntity types, an additional API call such as read_Value(Class clz) in needed on the org.omg.CORBA.portable.InputStream class. This allows the ValueHandler to pass the expected class (which it knows) to the InputStream. For symmetry, a write_Value(java.io.Serializable obj, Class clz) method should be added to org.omg.CORBA.portable.OutputStream. This would allow RMI-IIOP marshalling to use the same optimized encoding for this case as is possible for C++ and IDL/Java. Resolution: Closed, accepted Revised Text: The following method is added to org.omg.CORBA_2_3.portable.InputStream: java.io.Serializable read_value(Class clz); This method unmarshals a value type from the input stream. clz is the declared type of the value to be unmarshaled. The following method is added to org.omg.CORBA_2_3.portable.OutputStream: void write_value(java.io.Serializable value, Class clz); This method marshals a value type to the output stream. value is the value to be marshaled, and clz is the declared type of the value to be marshaled. Actions taken: February 22, 1999: received issue June 4, 1999: closed issue Discussion: End of Annotations:===== ate: Mon, 22 Feb 1999 14:33:40 +0000 From: Simon Nash Organization: IBM To: issues CC: java2idl Subject: Need read_Value(clz) on InputStream It is possible for an RMI/IDL value class to contain an IDLEntity type that was mapped from an IDL valuetype. In this case, the GIOP encoding of the IDLEntity type sent by an IDL/Java or C++ application to an RMI-IIOP appplication may not contain type information (if the actual type is the same as the declared type). In order to allow the ValueHandler to demarshal these IDLEntity types, an additional API call such as read_Value(Class clz) in needed on the org.omg.CORBA.portable.InputStream class. This allows the ValueHandler to pass the expected class (which it knows) to the InputStream. For symmetry, a write_Value(java.io.Serializable obj, Class clz) method should be added to org.omg.CORBA.portable.OutputStream. This would allow RMI-IIOP marshalling to use the same optimized encoding for this case as is possible for C++ and IDL/Java. Simon -- Simon C Nash, Technology Architect, IBM Java Technology Centre Tel. +44-1962-815156 Fax +44-1962-818999 Hursley, England Internet: nash@hursley.ibm.com Lotus Notes: Simon Nash@ibmgb