/** * start a new chunk, end any previously started chunk (no nesting!) */ private void start_chunk() { if (chunkingFlag > 0) { write_previous_chunk_size(); valueNestingLevel++; skip_chunk_size_tag(); } }
private void end_chunk() { if (chunkingFlag > 0) { write_previous_chunk_size(); write_long(-valueNestingLevel); if ( --valueNestingLevel == 0 ) { // ending chunk for outermost value chunkingFlag = 0; } else { // start continuation chunk for outer value skip_chunk_size_tag(); } } }
@Override public void write_value(final java.io.Serializable value, final org.omg.CORBA.portable.BoxedValueHelper factory) { if (!write_special_value (value)) { write_previous_chunk_size(); check(7,4); getValueMap().put (value, Integer.valueOf(size())); if (((value instanceof org.omg.CORBA.portable.IDLEntity) || isSimpleString(value, factory))) { write_long (0x7fffff00 | chunkingFlag); } else { // repository id is required for RMI: types write_long (0x7fffff02 | chunkingFlag); final String repId = factory.get_id(); write_repository_id (repId); } start_chunk(); factory.write_value (this, value); end_chunk(); } }
final String repository_id) write_previous_chunk_size(); check(7,4); getValueMap().put(value, Integer.valueOf(size()));