org.omg.CORBA

提供 OMG CORBA API 到 JavaTM 程式語言的映射,包括 ORB 類,如果已實現該類,則程式設計師可以使用此類作為全功能對象請求代理(Object Request Broker,ORB)。

接口摘要

ARG_IN向調用符號化"input"參數,表示從客戶端將該參數傳遞到伺服器。
ARG_INOUT表示用於某一調用的輸入和輸出的參數,意味著將該參數從客戶端傳到伺服器,然後再從伺服器傳回客戶端。
ARG_OUT表示調用的"input"參數的常量,意味著從伺服器將該參數傳遞到客戶端。
BAD_POLICY將填充在PolicyError異常中的PolicyErrorCode。
BAD_POLICY_TYPE將填充在PolicyError異常中的PolicyErrorCode。
BAD_POLICY_VALUE包含指示某個策略值的值,該策略值對於create_policy方法(在ORB類中定義)調用中的有效策略類型而言是不正確的。
CTX_RESTRICT_SCOPE可以用作Context.get_values方法的第二個參數以限制搜尋範圍的標誌。
Current從Current接口派生的接口允許 ORB和CORBA服務訪問與它們正運行的執行執行緒關聯的信息(上下文)。
CurrentOperationsCurrent的接口。
CustomMarshal將由ORB而不是由用戶使用的抽象value類型。
DataInputStream定義用來從輸入流讀取基本數據類型的方法,以便解組自定義值類型。
DataOutputStream定義用來將基本數據類型寫入輸出流的方法,以便編組自定義值類型。
DomainManager提供用來建立關係並將其導航到高級域和從屬域的機制,以及用來創建和訪問策略的機制。
DomainManagerOperations向DomainManager提供訪問策略的方法。
DynAny已過時。使用新的DynAny替代
DynArray已過時。使用新的DynArray替代
DynEnum已過時。使用新的DynEnum替代
DynFixed已過時。使用新的DynFixed替代
DynSequence已過時。使用新的DynSequence替代
DynStruct已過時。使用新的DynStruct替代
DynUnion已過時。使用新的DynUnion替代
DynValue已過時。使用新的DynValue替代
IDLType由所有表示OMGIDL類型的接口存儲庫(InterfaceRepository,IR)對象繼承的抽象接口。
IDLTypeOperations此接口必須由所有IDLType對象實現。
IRObjectIRObjectIDL接口表示最一般的接口,其他所有InterfaceRepository接口(甚至包括Repository自身)都派生自該接口。
IRObjectOperations這是用於IRObject的映射的Operations接口。
ObjectCORBA對象引用的定義。
OMGVMCID為OMG保留的供應商次要代碼(minorcode) ID
Policy派生自Policy接口的接口允許ORB或CORBA服務訪問影響其操作的某些選項。
PolicyOperations提供針對某一Policy對象的操作。
PRIVATE_MEMBER定義ValueMember類中私有成員的常量。
PUBLIC_MEMBER定義ValueMember類中公共成員的常量。
UNSUPPORTED_POLICY在所請求的Policy被ORB認為是有效的,但目前不受支持時將被填充的一個PolicyErrorCode。
UNSUPPORTED_POLICY_VALUE當所請求的Policy值是有效類型並且在該類型的有效範圍內,但該有效值目前不受支持時將被填充的PolicyErrorCode。
VM_ABSTRACT定義用來表示typecode中的Abstract接口的代碼。
VM_CUSTOM定義用來表示類型代碼中自定義編組值類型的代碼。
VM_NONE定義代碼,用來表示一個typecode中值類型的值。
VM_TRUNCATABLE定義用來表示typecode中可截斷值類型的代碼。

類摘要

_IDLTypeStubIDLType的Stub。
_PolicyStubPolicy的Stub。
Any充當可用IDL描述的任何數據或任何 IDL基本類型的容器
AnyHolderAny的Holder。
AnySeqHelperAnySeq的Helper。
AnySeqHolderAnySeq的Holder。
BooleanHolderBoolean的Holder。
BooleanSeqHelperBooleanSeq的Helper。
BooleanSeqHolderBooleanSeq的Holder。
ByteHolderByte的Holder。
CharHolderChar的Holder。
CharSeqHelperCharSeq的Helper。
CharSeqHolderCharSeq的Holder。
CompletionStatus指示某一方法拋出SystemException時是否已結束運行的對象。
CompletionStatusHelperCompletionStatus的Helper。
Context用於在Request操作中指定上下文對象的對象,上下文字元串在與請求調用一起被傳送之前,必須在該指定的上下文對象中進行解析。
ContextList一個對象,它包含表示屬性名稱的 String對象所組成的可修改列表。
CurrentHelperCurrent的Helper。
CurrentHolderCurrent的Holder。
DefinitionKind該類提供用來標識接口存儲庫(InterfaceRepository)對象類型的常量。
DefinitionKindHelperDefinitionKind的Helper。
DoubleHolderDouble的Holder。
DoubleSeqHelperDoubleSeq的Helper。
DoubleSeqHolderDoubleSeq的Holder。
DynamicImplementation已過時。org.omg.CORBA.DynamicImplementation
Environment用於Request操作的異常的容器(holder),使異常可用於客戶端。
ExceptionListRequest操作中使用的對象,用於描述可由某一方法拋出的異常。
FieldNameHelperFieldName的Helper。
FixedHolderFixed的Holder。
FloatHolderFloat的Holder。
FloatSeqHelperFloatSeq的Helper。
FloatSeqHolderFloatSeq的Holder。
IdentifierHelperIdentifier的Helper。
IDLTypeHelperIDLType的Helper。
IntHolderInt的Holder。
LocalObject用作Java語言映射中的本地IDL接口實現的基本類。
LongHolderLong值的Holder。
LongLongSeqHelperLongLongSeq的Helper。
LongLongSeqHolderLongLongSeq的Holder。
LongSeqHelperLongSeqHelper的Helper。
LongSeqHolderLongSeq的Holder。
NamedValue在DII和DSI中用來描述參數和返回值的對象。
NameValuePair將某一名稱與一個屬性為IDLstruct的值關聯,並在DynStruct API 中使用。
NameValuePairHelperNameValuePair的Helper。
NVList包含NamedValue對象所組成的可修改列表。
ObjectHelper
ObjectHolderObject的Holder。
OctetSeqHelperOctetSeq的Helper。
OctetSeqHolderOctetSeq的Holder。
ORB為CORBA對象請求代理(ObjectRequestBroker)特性提供API的類。
ParameterModeParameter參數模式的枚舉。
ParameterModeHelperParameter參數模式的枚舉
ParameterModeHolderParameter參數模式的枚舉。
PolicyErrorCodeHelper封裝Policy無效的原因。
PolicyErrorHelper拋出PolicyError指示傳遞給ORB.create_policy操作的參數值存在問題。
PolicyErrorHolder拋出PolicyError指示傳遞給ORB.create_policy操作的參數值存在問題。
PolicyHelperPolicy的Helper。
policyholderPolicy的Holder。
PolicyListHelperPolicyList的Helper。
PolicyListHolderPolicyList的Holder。
PolicyTypeHelperPolicyType的Helper。
Principal已過時。已由CORBA2.2取代。
PrincipalHolder已過時。DeprecatedbyCORBA2.2.
RepositoryIdHelperRepositoryId的Helper。
Request包含調用某一方法所必需的信息的對象。
ServerRequest捕獲對動態框架接口(DynamicSkeletonInterface,DSI)請求的顯式狀態的對象。
ServiceDetail表示ORB服務的對象:其service_detail_type欄位包含ORB服務的類型,其service_detail欄位包含ORB服務的描述。
ServiceDetailHelper
ServiceInformationCORBA模組中的IDLstruct,用於存儲關於ORB實現中可用CORBA服務的信息,可使用ORB.get_service_information方法獲取。
ServiceInformationHelper
ServiceInformationHolderServiceInformation的Holder。
SetOverrideType標記SET_OVERRIDE和ADD_OVERRIDE的CORBAenum的映射,它指示這些策略是應該替換Object的現有策略還是應該被添加到現有策略中。
SetOverrideTypeHelperSetOverrideType的Helper。
ShortHolderShort的Holder。
ShortSeqHelperShortSeqHelper的Helper。
ShortSeqHolderShortSeq的Holder。
StringHolderString的Holder。
StringSeqHelperString數組
StringSeqHolderString數組
StringValueHelperStringValue的Helper。
StructMember描述接口存儲庫(InterfaceRepository)中一個IDLstruct成員,包括該struct成員的名稱、該struct成員的類型以及表示該struct成員(被描述為struct成員對象)IDL類型的typedef。
StructMemberHelperStructMember的Helper。
TCKindIDLenumTCKind的 Java映射,TCKind指定TypeCode對象的種類。
TypeCode用於有關特定CORBA數據類型的信息的容器。
TypeCodeHolderTypeCode的Holder。
ULongLongSeqHelperULongLongSeq的Helper。
ULongLongSeqHolderULongLongSeq的Holder。
ULongSeqHelperULongSeq的Helper。
ULongSeqHolderULongSeq的Holder。
UnionMember接口存儲庫(InterfaceRepository)中關於IDLunion成員的描述。
UnionMemberHelperUnionMember的Helper。
UnknownUserExceptionHelperUnknownUserException的Helper。
UnknownUserExceptionHolderUnknownUserException的Holder。
UShortSeqHelperUShortSeq的Helper。
UShortSeqHolderUShortSeq的Holder。
ValueBaseHelper
ValueBaseHolderValueBase的Holder。
ValueMember接口存儲庫(InterfaceRepository)中關於value對象成員的描述。
ValueMemberHelperValueMember的Helper。
VersionSpecHelperVersionSpec的Helper。
VisibilityHelperVisibility的Helper。
WCharSeqHelperWCharSeq的Helper。
WCharSeqHolderWCharSeq的Holder。
WrongTransactionHelperWrongTransaction的Helper。
WrongTransactionHolderWrongTransaction的Holder。
WStringSeqHelperWString數組
WStringSeqHolderWString數組
WStringValueHelperorg/omg/CORBA/WStringValueHelper.java由"3.0"版的IDL-to-Java編譯器(可移植)從orb.idl中生成,生成時間為1999年5月31日22:27:30(GMT+00:00)類定義已經修改,以遵守以下OMG規範:由CORBA2.3.1定義的ORB核心(formal/99-10-07)ptc/00-01-08中定義的IDL/Java語言映射

異常摘要

ACTIVITY_COMPLETEDACTIVITY_COMPLETED系統異常可以在任何訪問Activity上下文的方法上引發。
ACTIVITY_REQUIREDACTIVITY_REQUIRED系統異常可以在任何需要Activity上下文的方法上引發。
BAD_CONTEXT當客戶端調用某一操作,但傳遞的上下文中不包含該操作所需的上下文值時,拋出該異常。
BAD_INV_ORDER此異常指示調用者按錯誤順序調用了操作。
BAD_OPERATION當對象引用表示某一現有對象,但該對象並不支持調用的操作時,拋出該異常。
BAD_PARAM當傳遞給某一調用的參數超出範圍或被認為不合法時,拋出該異常。
BAD_QOS只要對象無法支持調用參數(具有與之關聯的服務質量語義的參數)所需的服務質量,就會引發BAD_QOS異常。
BAD_TYPECODE當ORB遇到錯誤的類型代碼(例如,具有無效TCKind值的類型代碼)時,拋出該異常。
Bounds當參數不在某一方法試圖訪問的對象的合法範圍內時,拋出該用戶異常。
CODESET_INCOMPATIBLE當客戶端和伺服器本機代碼集之間不能進行有意義的通信時,拋出此異常。
COMM_FAILURE如果某一操作正在進行時失去通信,此時客戶端已經傳送了請求,但伺服器的應答尚未返回到客戶端,則引發此異常。
DATA_CONVERSION如果ORB無法將已編組數據的表示形式轉換成其本機表示形式,則引發此異常,反之亦然。
FREE_MEM當ORB試圖釋放動態記憶體但卻因為某些原因(例如因為堆損壞或記憶體塊被鎖定)而失敗時,拋出此異常。
IMP_LIMIT此異常指示在OBR運行時超過了某一項實現限制。
INITIALIZEORB在其初始化期間出錯(例如無法獲得網路資源或檢測配置錯誤)時,拋出此異常。
INTERNAL此異常指示ORB中存在內部錯誤,例如,在ORB檢測到其內部數據結構被損壞時將拋出此異常。
INTF_REPOS當ORB無法到達接口存儲庫,或者檢測到其他與接口存儲庫相關的錯誤時,引發此異常。
INV_FLAG在將無效標誌傳遞給某項操作時(例如,在創建DII請求時),拋出此異常。
INV_IDENT此異常指示IDL標識符在語法上是無效的。
INV_OBJREF此異常指示對象引用存在內部錯誤。
INV_POLICY當套用於特定調用的Policy重寫之間不兼容而導致無法進行調用時,拋出此標準異常。
INVALID_ACTIVITY如果在不同於其處於掛起狀態時所在的上下文中恢復事務或Activity,則在該Activity或Transaction服務的恢複方法上引發INVALID_ACTIVITY系統異常。
INVALID_TRANSACTION當請求帶有無效的事務上下文時,拋出此異常。
MARSHAL表示網路中傳來的請求或應答在結構上無效。
NO_IMPLEMENT此異常指示,儘管被調用的操作存在(它有一個 IDL定義),但不存在該操作的實現。
NO_MEMORY如果ORB運行時出現記憶體不足,則拋出此異常。
NO_PERMISSION當因為調用者沒有足夠的許可權而導致調用失敗時,拋出此異常。
NO_RESOURCES當ORB遇到一些一般資源限制時,拋出此異常。
NO_RESPONSE如果某客戶端試圖檢索延遲同步調用的結果,但請求的回響尚不可用,則拋出此異常。
OBJ_ADAPTER此異常通常指示管理方面的不匹配,例如,某台伺服器可能試圖在實現存儲庫中使用已經在使用或存儲庫未知的名稱註冊它自身。
OBJECT_NOT_EXIST只要在已刪除的對象上執行調用,就會引發此異常。
PERSIST_STORE此異常指示一個持久存儲錯誤,例如,無法建立資料庫連線或者某個資料庫損壞。
PolicyError發生策略錯誤時拋出的用戶異常。
rebind如果當前有效RebindPolicy具有NO_REBIND或NO_RECONNECT值,且對綁定的對象引用執行調用時生成狀態為OBJECT_FORWARD的LocateReply訊息或狀態為LOCATION_FORWARD的Reply訊息,則將引發REBIND。
SystemException所有CORBA標準異常的根類。
TIMEOUT當已超過指定生存時間卻沒有做出任何交付時,引發TIMEOUT異常。
TRANSACTION_MODE如果客戶端ORB檢測到 IOR中的InvocationPolicy與選中的調用路徑(即直接或路由調用)不匹配,則它將拋出CORBATRANSACTION_MODE異常。
TRANSACTION_REQUIRED此異常指示請求帶有一個null事務上下文,但需要的是激活的事務。
TRANSACTION_ROLLEDBACK當與請求處理關聯的事務已回滾或已標記為回滾時,拋出此異常。
TRANSACTION_UNAVAILABLE當由於到事務服務(TransactionService)的連線已異常終止而無法處理事務服務上下文時,由ORB拋出CORBATRANSACTION_UNAVAILABLE異常。
TRANSIENT當ORB試圖到達某一對象但失敗時,拋出此異常。
UNKNOWN如果操作實現拋出一個非CORBA異常(比如特定於該實現程式語言的異常),或者某一操作引發沒有出現在該操作引發表達式中的用戶異常,則將引發此異常。
UnknownUserException包含由伺服器返回的用戶異常的類。
UserExceptionCORBAIDL定義的用戶異常的根類。
WrongTransactionCORBAWrongTransaction用戶定義異常。

常規信息

這一節中的信息與編譯接口定義語言(InterfaceDefinitionLanguage,IDL)檔案以及使用ORB編寫客戶端和伺服器的用戶有關。
這一節中描述的類和接口可分為四組:ORB類、異常、Helper類和Holder類。

ORB 類

ORB處理(或代理)客戶端與伺服器上的方法實現之間的方法調用。因為客戶端和伺服器可能位於網路的任何地方,調用和實現可能以不同的程式語言編寫,所以ORB在後台做了很多工作來實現此通信。
ORB所做的大部分工作對於用戶而言是完全透明的,CORBA包的主要部分由ORB在後台使用的類組成。因此大部分程式設計師將只直接使用此包的一小部分。實際上,大多數程式設計師僅使用ORB類和一些異常中的少數方法,偶爾也使用holder類中的少數方法。

ORB 方法

在應用程式進入CORBA環境之前,它必須先執行以下操作:
被初始化為ORB環境,也可能是對象適配器(POA)環境。
獲取對ORB對象的引用(在以後的ORB操作中使用),也可能獲取對其他對象(包括根POA或一些ObjectAdapter對象)的引用。
以下ORB方法可以訪問ORB:
init()
init(String[]args,Propertiesprops)
init(Appletapp,Propertiesprops)
使用不帶參數的init()方法可以實例化一個單件ORB,它只能為創建typecode提供any,在通過idlj在Helper類中生成的代碼中需要這些any。
應用程式需要一個用來獲得其初始對象引用的可移植方法。根POA、POACurrent、InterfaceRepository和各種ObjectService實例都需要引用。應用程式所需的功能類似於NamingService提供的那些功能。但是,OMG不應該要求NamingService可用於所有應用程式以便能夠以可移植方式初始化。因此,這一節中展示的操作提供了一個簡化的本地NamingService,應用程式可以使用它來獲取其操作所必須的一小組已定義對象引用。因為只期望從此機制中獲得一小組定義良好的對象,所以命名上下文可能被簡化為單一級別的名稱空間。這種簡化的結果是只定義兩個操作來獲得所需的功能。
初始引用是通過ORB對象接口中提供的兩個操作獲得的,該接口中提供了一些設施來列出並解析初始對象引用。這些工具包括:
resolve_initial_references(Stringname)
list_initial_services()
register_initial_reference(Stringid,org.omg.CORBA.Objectobj)

相關詞條

相關搜尋

熱門詞條

聯絡我們