1 /* 2 * @(#)CustomMarshal.java 1.15 03/12/19 3 * 4 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 5 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 6 */ 7 8 package org.omg.CORBA; 9 10 import org.omg.CORBA.DataOutputStream; 11 import org.omg.CORBA.DataInputStream; 12 13 /** 14 * An abstract value type that is meant to 15 * be used by the ORB, not the user. Semantically it is treated 16 * as a custom value type's implicit base class, although the custom 17 * valuetype does not actually inherit it in IDL. The implementer 18 * of a custom value type shall provide an implementation of the 19 * <tt>CustomMarshal</tt> operations. The manner in which this is done is 20 * specified in the IDL to Java langauge mapping. Each custom 21 * marshaled value type shall have its own implementation. 22 * @see DataInputStream 23 */ 24 public interface CustomMarshal { 25 /** 26 * Marshal method has to be implemented by the Customized Marshal class. 27 * This is the method invoked for Marshalling. 28 * 29 * @param os a DataOutputStream 30 */ 31 void marshal(DataOutputStream os); 32 /** 33 * Unmarshal method has to be implemented by the Customized Marshal class. 34 * This is the method invoked for Unmarshalling. 35 * 36 * @param is a DataInputStream 37 */ 38 void unmarshal(DataInputStream is); 39 } 40