ValueHandlerMultiFormat (Java Platform SE 8 )
Keywords: javax.rmi.CORBA.ValueHandlerMultiFormat interface
Date: 2026-03-16

javax.rmi.CORBA

## Interface ValueHandlerMultiFormat

- All Superinterfaces:
    ValueHandler

      public interface ValueHandlerMultiFormat
      extends ValueHandler

  Java to IDL ptc 02-01-12 1.5.1.5
  Since:
    1.5

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte` | `getMaximumStreamFormatVersion()` Returns the maximum stream format version for RMI/IDL custom value types that is supported by this ValueHandler object.
    `void` | `writeValue(OutputStream out, Serializable value, byte streamFormatVersion)` Allows the ORB to pass the stream format version for RMI/IDL custom value types.

    - ### Methods inherited from interface javax.rmi.CORBA.ValueHandler

      `getRMIRepositoryID, getRunTimeCodeBase, isCustomMarshaled, readValue, writeReplace, writeValue`

- - ### Method Detail

    - #### getMaximumStreamFormatVersion

          byte getMaximumStreamFormatVersion()

      Returns the maximum stream format version for RMI/IDL custom value types that is supported by this ValueHandler object. The ValueHandler object must support the returned stream format version and all lower versions. An ORB may use this value to include in a standard IOR tagged component or service context to indicate to other ORBs the maximum RMI-IIOP stream format that it supports. If not included, the default for GIOP 1.2 is stream format version 1, and stream format version 2 for GIOP 1.3 and higher.

    - #### writeValue

          void writeValue(OutputStream out,
                          Serializable value,
                          byte streamFormatVersion)

      Allows the ORB to pass the stream format version for RMI/IDL custom value types. If the ORB calls this method, it must pass a stream format version between 1 and the value returned by the getMaximumStreamFormatVersion method inclusive, or else a BAD_PARAM exception with standard minor code will be thrown. If the ORB calls the older ValueHandler.writeValue(OutputStream, Serializable) method, stream format version 1 is implied. The ORB output stream passed to the ValueHandlerMultiFormat.writeValue method must implement the ValueOutputStream interface, and the ORB input stream passed to the ValueHandler.readValue method must implement the ValueInputStream interface.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.