1. /*
  2. * %W% %E%
  3. *
  4. * Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved.
  5. *
  6. * This software is the proprietary information of Sun Microsystems, Inc.
  7. * Use is subject to license terms.
  8. *
  9. */
  10. package org.omg.CORBA;
  11. import org.omg.CORBA.DataOutputStream;
  12. import org.omg.CORBA.DataInputStream;
  13. /**
  14. * The CustomMarshal is 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 valuetype's implicit base class, although the custom
  17. * valutype does not actually inherit it in IDL. The implementer
  18. * of a custom value type shall provide an implementation of the
  19. * CustomMarshal operations. The manner in which this is done is
  20. * specified in the IDL to Java langague mapping. Each custom
  21. * marshaled value type shall have its own implementation.
  22. * @see DataOuputStream
  23. * @see DataInputStream
  24. */
  25. public interface CustomMarshal {
  26. /**
  27. * Marshal method has to be implemented by the Customized Marshal class
  28. * This is the method invoked for Marshalling.
  29. *
  30. * @param os a DataOutputStream
  31. */
  32. void marshal(DataOutputStream os);
  33. /**
  34. * Unmarshal method has to be implemented by the Customized Marshal class
  35. * This is the method invoked for Unmarshalling.
  36. *
  37. * @param is a DataInputStream
  38. */
  39. void unmarshal(DataInputStream is);
  40. }