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
`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`