java orb 是什么_ORB (Java 2 Platform SE 6)

创建一个递归 TypeCode 对象,在创建包含递归的 TypeCodes 期间,该对象充当具体 TypeCode 的占位符。id 参数指定类型(递归 TypeCode 将充当该类型的占位符)的存储库 id。一旦将递归 TypeCode 正确地嵌入到对应于指定存储库 id 的封闭 TypeCode,该 TypeCode 的作用将与普通 TypeCode 一样。如果在将递归 TypeCode 嵌入封闭 TypeCode 之前对该 TypeCode 执行调用操作,则将导致 BAD_TYPECODE 异常。

例如,以下 IDL 类型声明中包含递归:Struct Node {

Sequence subnodes;

};

要为 struct Node 创建 TypeCode,应调用 TypeCode 创建操作,如下所示:String nodeID = "IDL:Node:1.0";

TypeCode recursiveSeqTC = orb.create_sequence_tc(0, orb.create_recursive_tc(nodeID));

StructMember[] members = { new StructMember("subnodes", recursiveSeqTC, null) };

TypeCode structNodeTC = orb.create_struct_tc(nodeID, "Node", members);

还要注意的是,以下是一个非法 IDL 类型声明:Struct Node {

Node next;

};

递归类型只能出现在可以为空的序列中。当在 Any 数组中传输 struct 数据时,可以通过这种方式避免编码问题。

参数:id - 所引用类型的逻辑 id返回:所请求的 TypeCode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值