org.omg.IOP

接口
所有已知子接口:
Codec

public interface CodecOperations

IOR 组件格式和 ORB 服务使用的服务上下文数据通常被定义为 IDL 定义数据类型的 CDR 封装编码实例。Codec 提供一个机制,在其 IDL 数据类型和 CDR 封装表示形式之间传输这些组件。

Codec 可从 CodecFactory 中获得。CodecFactory 可通过调用 ORB.resolve_initial_references( "CodecFactory" ) 获得。


方法摘要
 Any decode_value(byte[] data, TypeCode tc)
          基于给定的 TypeCode 和对此 Codec 有效的编码格式,将给定的 byte 数组解码为 Any。
 Any decode(byte[] data)
          基于对此 Codec 有效的编码格式,将给定的 byte 数组解码为 Any。
 byte[] encode_value(Any data)
          基于对此 Codec 有效的编码格式,将给定的 any 转换为一个 byte 数组。
 byte[] encode(Any data)
          基于对此 Codec 有效的编码格式,将给定的 any 转换为一个 byte 数组。
 

方法详细信息

encode

byte[] encode(Any data)
              throws InvalidTypeForEncoding
基于对此 Codec 有效的编码格式,将给定的 any 转换为一个 byte 数组。

参数:
data - 将被编码为一个 byte 数组的数据(any 形式)。
返回:
包含已编码 Any 的 byte 数组。此 byte 数组包含 TypeCode 和类型数据。
抛出:
InvalidTypeForEncoding - 如果该类型对于对此 Codec 有效的编码格式无效,则抛出此异常。

decode

Any decode(byte[] data)
           throws FormatMismatch
基于对此 Codec 有效的编码格式,将给定的 byte 数组解码为 Any。

参数:
data - 将被解码为 Any 的数据(byte 数组的形式)。
返回:
包含已解码 byte 数组数据的 Any。
抛出:
FormatMismatch - 在 byte 数组不能被解码为 Any 时抛出。

encode_value

byte[] encode_value(Any data)
                    throws InvalidTypeForEncoding
基于对此 Codec 有效的编码格式,将给定的 any 转换为一个 byte 数组。只解码 Any 中的数据,不对 TypeCode 中的数据进行解码。

参数:
data - 将被编码为一个 byte 数组的数据(Any 形式)。
返回:
包含已编码 Any 中数据的 byte 数组。
抛出:
InvalidTypeForEncoding - 如果该类型对于对此 Codec 有效的编码格式无效,则抛出此异常。

decode_value

Any decode_value(byte[] data,
                 TypeCode tc)
                 throws FormatMismatch,
                        TypeMismatch
基于给定的 TypeCode 和对此 Codec 有效的编码格式,将给定的 byte 数组解码为 Any。

参数:
data - 将被解码为 Any 的数据(byte 数组的形式)。
tc - 用来解码数据的 TypeCode。
返回:
包含已解码 byte 数组数据的 Any。
抛出:
FormatMismatch - 在 byte 数组不能被解码为 Any 时抛出。
TypeMismatch