/* */ public void write_value(org.omg.CORBA.portable.OutputStream paramOutputStream) /* */ { /* 594 */ if (isStreamed[realType().kind().value()] != 0) { /* 595 */ this.typeCode.copy(this.stream.dup(), paramOutputStream); /* */ } /* */ else /* 598 */ TCUtility.marshalIn(paramOutputStream, realType(), this.value, this.object); /* */ }
// // We could optimize this by noticing whether the target stream // has ever had anything marshaled on it that required an // alignment of greater than 4 (was write_double() ever called on it). // If not, then we can just do a byte array copy without having to // drive the remarshaling through typecode interpretation. // public void write_value(OutputStream out) { // debug.log ("write_value"); if (AnyImpl.isStreamed[realType().kind().value()]) { typeCode.copy(stream.dup(), out); } else { // _REVISIT_ check isInitialized whether all we write is TypeCode! TCUtility.marshalIn(out, realType(), value, object); } }
/* */ public org.omg.CORBA.portable.InputStream create_input_stream() /* */ { /* 522 */ if (isStreamed[realType().kind().value()] != 0) { /* 523 */ return this.stream.dup(); /* */ } /* 525 */ org.omg.CORBA.portable.OutputStream localOutputStream = this.orb.create_output_stream(); /* 526 */ TCUtility.marshalIn(localOutputStream, realType(), this.value, this.object); /* */ /* 528 */ return localOutputStream.create_input_stream(); /* */ }
/** * returns an input stream that an Any value can be marshaled out of. * * @result the InputStream to marshal value of Any out of. */ public org.omg.CORBA.portable.InputStream create_input_stream() { // // We create a new InputStream so that multiple threads can call here // and read the streams in parallel without thread safety problems. // // debug.log ("create_input_stream"); if (AnyImpl.isStreamed[realType().kind().value()]) { return stream.dup(); } else { OutputStream os = (OutputStream) orb.create_output_stream(); TCUtility.marshalIn(os, realType(), value, object); return os.create_input_stream(); } }