通用结构:
1.CORBA 模块
CORBA IDL 模块(module)映射成与IDL模块同名的Java包
2.CORBA 异常
CORBA定义了两类异常
I.system exceptions 一种被CORBA定义的异常
II.user-defined exceptions 由用户在IDl中定义的异常
3.CORBA 参数
CORBA定义了三种参数传递模式:in、out 和 inout。Java 只支持 in 。
4.CORBA Holder 类
由于Java中没有IDL out 和 inout 的对应物,对IDL out 和 inout 参数,IDL-to-Java 映射必须提供一些附加的机制来支持值传递(并返回结果)。
映射定义 Holder 类,这些 Holder 类在Java中实现附加的参数传递模式。对每个IDL out 或 inout 参数,客户必须实例化一个适当的 Holder 类的实例(它是通过值传递的)。
5.CORBA Helper 类
Helper 类包含用于不同方式操作IDL的方法。
Helper 类提供客户可以用来操作类型的静态方法,这些包括该类型的任何插入和取出操作、获得库(repository)ID、获得类型码(typecode)、从流中读取类型并把类型写入流中。
另外,映射IDL接口的Helper类提供一个静态的narrow方法,可以用于进行强制类型转换。
6.CORBA 属性
CORBA IDL 接口可以拥有属性,这些都是类型域中set和get操作所需的。
每个属性都被映射到一对与属性同名的重载Java访问器和修改器方法上。
结构类型:
1. sequence(序列)
一个可变大小的一维元素序列,其中元素可以是任何IDL定义的类型。可以限制序列的最大长度。
2. struct(结构)
可以使用结构将多种类型的命名字段组装在一起。
每个struct都有两个构造函数。一个是默认的构造函数,把结构中的所有字段设置为空。第二个构造函数把结构字段作为参数并初始化每个字段
3. union(联合)
用于在任何给定的时间只引用几个数据成员中的一个(任何时间,内存中只能有一个成员)。联合使用discriminator标签值来显示该值含有联合中的那个成员。
4. Any
Any是一个保留其类型的自描述数据结构,它使你可以在运行时用类型安全的转换函数提取和插入预定义的IDL类型的值。
Any类型让你指定一个属性值、参数或返回类型,该类型包含一个在运行时而不是在编译时确定的任意类型。可以使用Any传递任何东西。