CodecOperations (Java Platform SE 8 )
Keywords: org.omg.IOP.CodecOperations interface
Date: 2026-04-17

org.omg.IOP

## Interface CodecOperations

- All Known Subinterfaces:
    Codec

      public interface CodecOperations

  The formats of IOR components and service context data used by ORB services are often defined as CDR encapsulations encoding instances of IDL defined data types. The `Codec` provides a mechanism to transfer these components between their IDL data types and their CDR encapsulation representations.

  A `Codec` is obtained from the `CodecFactory`. The `CodecFactory` is obtained through a call to `ORB.resolve_initial_references( "CodecFactory" )`.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Any` | `decode_value(byte[] data, TypeCode tc)` Decodes the given byte array into an Any based on the given `TypeCode` and the encoding format effective for this `Codec`.
    `Any` | `decode(byte[] data)` Decodes the given byte array into an Any based on the encoding format effective for this `Codec`.
    `byte[]` | `encode_value(Any data)` Converts the given any into a byte array based on the encoding format effective for this Codec.
    `byte[]` | `encode(Any data)` Converts the given any into a byte array based on the encoding format effective for this `Codec`.

- - ### Method Detail

    - #### encode

          byte[] encode(Any data)
                 throws InvalidTypeForEncoding

      Converts the given any into a byte array based on the encoding format effective for this `Codec`.
      Parameters:
        `data` - The data, in the form of an any, to be encoded into a byte array.
      Returns:
        A byte array containing the encoded Any. This byte array contains both the `TypeCode` and the data of the type.
      Throws:
        `InvalidTypeForEncoding` - thrown if the type is not valid for the encoding format effective for this `Codec`.

    - #### decode

          Any decode(byte[] data)
              throws FormatMismatch

      Decodes the given byte array into an Any based on the encoding format effective for this `Codec`.
      Parameters:
        `data` - The data, in the form of a byte array, to be decoded into an Any.
      Returns:
        An Any containing the data from the decoded byte array.
      Throws:
        `FormatMismatch` - is thrown if the byte array cannot be decoded into an Any.

    - #### encode_value

          byte[] encode_value(Any data)
                       throws InvalidTypeForEncoding

      Converts the given any into a byte array based on the encoding format effective for this Codec. Only the data from the Any is encoded, not the `TypeCode`.
      Parameters:
        `data` - The data, in the form of an Any, to be encoded into a byte array.
      Returns:
        A byte array containing the data from the encoded any.
      Throws:
        `InvalidTypeForEncoding` - thrown if the type is not valid for the encoding format effective for this `Codec`.

    - #### decode_value

          Any decode_value(byte[] data,
                           TypeCode tc)
                    throws FormatMismatch,
                           TypeMismatch

      Decodes the given byte array into an Any based on the given `TypeCode` and the encoding format effective for this `Codec`.
      Parameters:
        `data` - The data, in the form of a byte array, to be decoded into an Any.
        `tc` - The TypeCode to be used to decode the data.
      Returns:
        An Any containing the data from the decoded byte array.
      Throws:
        `FormatMismatch` - thrown if the byte array cannot be decoded into an Any.
        `TypeMismatch`

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.