1. /*
  2. * @(#)MaxStreamFormatVersionServiceContext.java 1.8 04/06/21
  3. *
  4. * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. /**
  8. * @(#)MaxStreamFormatVersionServiceContext.java 1.8 04/06/21
  9. */
  10. package com.sun.corba.se.spi.servicecontext;
  11. import org.omg.IOP.RMICustomMaxStreamFormat;
  12. import javax.rmi.CORBA.*;
  13. import org.omg.CORBA.SystemException;
  14. import org.omg.CORBA_2_3.portable.InputStream;
  15. import org.omg.CORBA_2_3.portable.OutputStream;
  16. import com.sun.corba.se.spi.ior.iiop.GIOPVersion;
  17. import com.sun.corba.se.impl.encoding.MarshalInputStream;
  18. import com.sun.corba.se.impl.encoding.MarshalOutputStream;
  19. import com.sun.corba.se.impl.orbutil.ORBUtility;
  20. public class MaxStreamFormatVersionServiceContext extends ServiceContext {
  21. private byte maxStreamFormatVersion;
  22. // The singleton uses the maximum version indicated by our
  23. // ValueHandler.
  24. public static final MaxStreamFormatVersionServiceContext singleton
  25. = new MaxStreamFormatVersionServiceContext();
  26. public MaxStreamFormatVersionServiceContext() {
  27. maxStreamFormatVersion = ORBUtility.getMaxStreamFormatVersion();
  28. }
  29. public MaxStreamFormatVersionServiceContext(byte maxStreamFormatVersion) {
  30. this.maxStreamFormatVersion = maxStreamFormatVersion;
  31. }
  32. public MaxStreamFormatVersionServiceContext(InputStream is,
  33. GIOPVersion gv) {
  34. super(is, gv) ;
  35. maxStreamFormatVersion = is.read_octet();
  36. }
  37. public static final int SERVICE_CONTEXT_ID = RMICustomMaxStreamFormat.value;
  38. public int getId() { return SERVICE_CONTEXT_ID; }
  39. public void writeData(OutputStream os) throws SystemException
  40. {
  41. os.write_octet(maxStreamFormatVersion);
  42. }
  43. public byte getMaximumStreamFormatVersion()
  44. {
  45. return maxStreamFormatVersion;
  46. }
  47. public String toString()
  48. {
  49. return "MaxStreamFormatVersionServiceContext["
  50. + maxStreamFormatVersion + "]";
  51. }
  52. }