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