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. 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 value type's implicit base class, although the custom
  14. * valuetype 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 langauge mapping. Each custom
  18. * marshaled value type shall have its own implementation.
  19. * @see DataInputStream
  20. */
  21. public interface CustomMarshal {
  22. /**
  23. * Marshal method has to be implemented by the Customized Marshal class.
  24. * This is the method invoked for Marshalling.
  25. *
  26. * @param os a DataOutputStream
  27. */
  28. void marshal(DataOutputStream os);
  29. /**
  30. * Unmarshal method has to be implemented by the Customized Marshal class.
  31. * This is the method invoked for Unmarshalling.
  32. *
  33. * @param is a DataInputStream
  34. */
  35. void unmarshal(DataInputStream is);
  36. }