通用結構:
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傳遞任何東西。