OpenJDK 8 - org.omg.CORBA

पैकेज org.omg.CORBA




openjdk

पैकेज org.omg.CORBA

कक्षा ORB सहित जावा टीएम प्रोग्रामिंग भाषा को ओएमजी कॉर्बा एपीआई की मैपिंग प्रदान करता है, जिसे लागू किया जाता है ताकि एक प्रोग्रामर इसे पूरी तरह कार्यात्मक ऑब्जेक्ट अनुरोध ब्रोकर (ओआरबी) के रूप में उपयोग कर सके।

देखें: Description

इंटरफ़ेस सारांश
इंटरफेस विवरण
ARG_IN

एक आह्वान के लिए "इनपुट" तर्क को इंगित करता है, जिसका अर्थ है कि तर्क क्लाइंट से सर्वर तक पारित किया जा रहा है।

ARG_INOUT

एक आह्वान में इनपुट और आउटपुट दोनों के लिए उपयोग किए गए एक तर्क को इंगित करता है, जिसका अर्थ है कि तर्क को क्लाइंट से सर्वर तक और फिर सर्वर से क्लाइंट तक वापस भेजा जा रहा है।

ARG_OUT

एक स्थिरांक जो एक आह्वान के लिए "आउटपुट" तर्क को दर्शाता है, जिसका अर्थ है कि तर्क सर्वर से क्लाइंट के लिए पारित किया जा रहा है।

BAD_POLICY

एक PolicyErrorCode जो PolicyError अपवाद में भरा जाएगा।

BAD_POLICY_TYPE

एक PolicyErrorCode जो PolicyError अपवाद में भरा जाएगा।

BAD_POLICY_VALUE

उस नीति मान को दर्शाने के लिए उपयोग किया जाने वाला मान create_policy है जो ORB कक्षा में परिभाषित create_policy विधि के लिए कॉल में मान्य नीति प्रकार के लिए गलत है।

CTX_RESTRICT_SCOPE

एक ध्वज जिसे खोज पैरामीटर प्रतिबंधित करने के लिए विधि Context.get_values के दूसरे पैरामीटर के रूप में उपयोग किया जा सकता है।

Current

Current इंटरफ़ेस से प्राप्त इंटरफेस ORB और CORBA सेवाओं को निष्पादन के धागे से जुड़ी सूचना (संदर्भ) तक पहुंच प्रदान करने में सक्षम करते हैं जिसमें वे चल रहे हैं।

CurrentOperations

Current लिए इंटरफ़ेस।

CustomMarshal

एक अमूर्त मूल्य प्रकार जिसका उपयोग ORB द्वारा किया जाना है, न कि उपयोगकर्ता।

DataInputStream

कस्टम मूल्य प्रकारों के लिए इनपुट धाराओं से आदिम डेटा प्रकार पढ़ने के लिए उपयोग की जाने वाली विधियों को परिभाषित करता है।

DataOutputStream

कस्टम मूल्य प्रकारों के लिए उत्पादन धाराओं के लिए आदिम डेटा प्रकार लिखने के लिए उपयोग की जाने वाली विधियों को परिभाषित करता है।

DomainManager

बेहतर और अधीनस्थ डोमेन के साथ-साथ संबंध स्थापित करने और नीतियों को बनाने और उन तक पहुंचने के लिए तंत्र स्थापित करना।

DomainManagerOperations

DomainManager को नीतियों का उपयोग करने का साधन प्रदान करता है।

DynAny पदावनत

इसके बजाय नए DynAny उपयोग करें

DynArray पदावनत

इसके बजाय नए DynArray उपयोग करें

DynEnum पदावनत

इसके बजाय नए DynEnum उपयोग करें

DynFixed पदावनत

इसके बजाय नए DynFixed उपयोग करें

DynSequence पदावनत

इसके बजाय नए DynSequence उपयोग करें

DynStruct पदावनत

इसके बजाय नए DynStruct उपयोग करें

DynUnion पदावनत

इसके बजाय नए DynUnion उपयोग करें

DynValue पदावनत

इसके बजाय नए DynValue उपयोग करें

IDLType

सार इंटरफ़ेस जो सभी इंटरफ़ेस रिपोजिटरी (IR) ऑब्जेक्ट्स द्वारा विरासत में मिला है जो OMG IDL प्रकारों का प्रतिनिधित्व करता है।

IDLTypeOperations

यह इंटरफ़ेस सभी IDLType ऑब्जेक्ट द्वारा लागू किया जाना चाहिए।

IRObject

एक IRObject IDL इंटरफ़ेस सबसे सामान्य इंटरफ़ेस का प्रतिनिधित्व करता है जिसमें से अन्य सभी इंटरफ़ेस रिपॉजिटरी इंटरफेस प्राप्त होते हैं, यहां तक ​​कि रिपोजिटरी इंटरफ़ेस भी।

IRObjectOperations

यह IRObject से मैपिंग के लिए ऑपरेशन इंटरफ़ेस है।

Object

एक CORBA वस्तु संदर्भ के लिए परिभाषा।

OMGVMCID

विक्रेता मामूली कोड आईडी ओएमजी के लिए आरक्षित है।

Policy

Policy इंटरफ़ेस से प्राप्त इंटरफेस, ORB या CORBA सेवा को कुछ खास विकल्पों तक पहुँच प्रदान करते हैं जो इसके संचालन को प्रभावित करते हैं।

PolicyOperations

Policy ऑब्जेक्ट के लिए संचालन प्रदान करता है।

PRIVATE_MEMBER

ValueMember वर्ग में एक निजी सदस्य को परिभाषित करने के लिए निरंतर।

PUBLIC_MEMBER

ValueMember वर्ग में एक सार्वजनिक सदस्य को परिभाषित करने के लिए निरंतर।

UNSUPPORTED_POLICY

यदि Policy में ORB द्वारा मान्य माना जाता है, तो PolicyErrorCode में से एक भरा जाएगा, लेकिन वर्तमान में समर्थित नहीं है।

UNSUPPORTED_POLICY_VALUE

एक PolicyErrorCode जो कि Policy लिए अनुरोध किया गया मान मान्य प्रकार का होता है और उस प्रकार के लिए मान्य सीमा के भीतर होता है, लेकिन यह वैध मूल्य वर्तमान में समर्थित नहीं है।

VM_ABSTRACT

एक टंकण में एक सार इंटरफ़ेस का प्रतिनिधित्व करने के लिए उपयोग किए गए कोड को परिभाषित करता है।

VM_CUSTOM

एक टाइपबॉक्स में एक कस्टम मार्शल्ड वैल्यू टाइप को दर्शाने के लिए इस्तेमाल किए गए कोड को परिभाषित करता है।

VM_NONE

एक कोड टाइप में मानों में से एक का प्रतिनिधित्व करने के लिए उपयोग किए गए कोड को परिभाषित करता है।

VM_TRUNCATABLE

एक टंकण में एक ट्रंक्यूएबल वैल्यू टाइप का प्रतिनिधित्व करने के लिए उपयोग किए गए कोड को परिभाषित करता है।

कक्षा सारांश
कक्षा विवरण
_IDLTypeStub

IDLType लिए IDLType

_PolicyStub

Policy लिए ठूंठ।

Any

किसी भी डेटा के लिए कंटेनर के रूप में कार्य करता है जिसे आईडीएल में या किसी भी आईडीएल आदिम प्रकार के लिए वर्णित किया जा सकता है।

AnyHolder

Any लिए धारक।

AnySeqHelper

AnySeq लिए सहायक।

AnySeqHolder

AnySeq लिए धारक।

BooleanHolder

Boolean लिए धारक।

BooleanSeqHelper

BooleanSeq लिए हेल्पर।

BooleanSeqHolder

BooleanSeq लिए धारक।

ByteHolder

Byte लिए धारक।

CharHolder

Char लिए धारक।

CharSeqHelper

CharSeq लिए हेल्पर।

CharSeqHolder

CharSeq लिए धारक।

CompletionStatus

एक ऑब्जेक्ट जो इंगित करता है कि क्या SystemException को फेंकने पर कोई विधि पूरी हो SystemException थी।

CompletionStatusHelper

कंप्लीटेशनस्टैटस के लिए हेल्पर।

Context

संदर्भ ऑब्जेक्ट को निर्दिष्ट करने के लिए Request संचालन में उपयोग की गई वस्तु जिसमें संदर्भ स्ट्रिंग को अनुरोध मंगलाचरण के साथ भेजे जाने से पहले हल किया जाना चाहिए।

ContextList

एक ऑब्जेक्ट जिसमें String ऑब्जेक्ट्स की एक परिवर्तनीय सूची होती है जो संपत्ति के नामों का प्रतिनिधित्व करती है।

CurrentHelper

Current लिए हेल्पर।

CurrentHolder

Current लिए धारक।

DefinitionKind

वह वर्ग जो इंटरफ़ेस रिपॉजिटरी ऑब्जेक्ट के प्रकार की पहचान करने के लिए उपयोग किए गए स्थिरांक प्रदान करता है।

DefinitionKindHelper

DefinitionKind लिए सहायक।

DoubleHolder

Double लिए धारक।

DoubleSeqHelper

DoubleSeq लिए हेल्पर।

DoubleSeqHolder

DoubleSeq लिए धारक।

DynamicImplementation पदावनत

org.omg.CORBA.DynamicImplementation

Environment

अपवाद के लिए एक कंटेनर (धारक) जिसका उपयोग क्लाइंट को उपलब्ध अपवाद बनाने के लिए Request संचालन में किया जाता है।

ExceptionList

एक विधि द्वारा उपयोग किए जा सकने वाले अपवादों का वर्णन करने के लिए Request संचालन में उपयोग की जाने वाली वस्तु।

FieldNameHelper

FieldName लिए हेल्पर।

FixedHolder

Fixed लिए धारक।

FloatHolder

Float लिए धारक।

FloatSeqHelper

FloatSeq लिए हेल्पर।

FloatSeqHolder

FloatSeq लिए धारक।

IdentifierHelper

Identifier लिए सहायक।

IDLTypeHelper

IDLType लिए सहायक।

IntHolder

Int लिए धारक।

LocalObject

जावा भाषा मानचित्रण में एक स्थानीय IDL इंटरफ़ेस के कार्यान्वयन के लिए एक आधार वर्ग के रूप में उपयोग किया जाता है।

LongHolder

Long लिए धारक।

LongLongSeqHelper

LongLongSeq लिए सहायक।

LongLongSeqHolder

LongLongSeq लिए धारक।

LongSeqHelper

LongSeqHelper लिए हेल्पर।

LongSeqHolder

LongSeq लिए धारक।

NamedValue

तर्क और वापसी मूल्यों का वर्णन करने के लिए DII और DSI में प्रयुक्त एक वस्तु।

NameValuePair

एक नाम को एक ऐसे मान के साथ DynStruct है जो एक IDL संरचना का एक गुण है, और इसका उपयोग DynStruct API में किया जाता है।

NameValuePairHelper

NameValuePair लिए हेल्पर।

NVList

एक NamedValue सूची जिसमें NamedValue ऑब्जेक्ट हैं।

ObjectHelper
ObjectHolder

Object लिए धारक।

OctetSeqHelper

OctetSeq लिए हेल्पर।

OctetSeqHolder

OctetSeq लिए धारक।

ORB

कोर्बा ऑब्जेक्ट अनुरोध ब्रोकर सुविधाओं के लिए एपीआई प्रदान करने वाला एक वर्ग।

ParameterMode

पैरामीटर के लिए पैरामीटर मोड की गणना।

ParameterModeHelper

पैरामीटर के लिए पैरामीटर मोड की गणना।

ParameterModeHolder

पैरामीटर के लिए पैरामीटर मोड की गणना।

PolicyErrorCodeHelper

पॉलिसी को अमान्य होने का एक कारण समझाया जा सकता है।

PolicyErrorHelper

ORB.create_policy ऑपरेशन में पारित पैरामीटर मूल्यों के साथ समस्याओं को इंगित करने के लिए फेंक ORB.create_policy

PolicyErrorHolder

ORB.create_policy ऑपरेशन में पारित पैरामीटर मूल्यों के साथ समस्याओं को इंगित करने के लिए फेंक ORB.create_policy

PolicyHelper

हेल्पर फॉर Policy

PolicyHolder

द होल्डर फॉर Policy

PolicyListHelper

हेल्पर फॉर PolicyList

PolicyListHolder

PolicyList लिए धारक।

PolicyTypeHelper

हेल्पर फॉर PolicyType

Principal पदावनत

CorBA 2.2 द्वारा पदावनत।

PrincipalHolder पदावनत

CorBA 2.2 द्वारा पदावनत।

RepositoryIdHelper

RepositoryId लिए हेल्पर।

Request

किसी वस्तु को किसी विधि को लागू करने के लिए आवश्यक जानकारी।

ServerRequest

एक वस्तु जो गतिशील कंकाल इंटरफ़ेस (डीएसआई) के लिए अनुरोध की स्पष्ट स्थिति को पकड़ती है।

ServiceDetail

एक ऑब्जेक्ट जो ORB सेवा का प्रतिनिधित्व करता है: उसके service_detail_type फ़ील्ड में ORB सेवा का प्रकार होता है, और इसकी service_detail फ़ील्ड में ORB सेवा का विवरण होता है।

ServiceDetailHelper
ServiceInformation

CORBA मॉड्यूल में एक IDL संरचना जो ORB कार्यान्वयन में उपलब्ध एक CORBA सेवा के बारे में जानकारी संग्रहीत करती है और ORB.get_service_information विधि से प्राप्त की ORB.get_service_information है।

ServiceInformationHelper
ServiceInformationHolder

सेवा के लिए धारक

SetOverrideType

एक SET_OVERRIDE enum की मैपिंग SET_OVERRIDE और ADD_OVERRIDE टैग SET_OVERRIDE ADD_OVERRIDE , जो यह इंगित करते हैं कि क्या नीतियों को किसी Object की मौजूदा नीतियों को बदलना चाहिए या उन्हें जोड़ा जाना चाहिए।

SetOverrideTypeHelper

SetOverrideType लिए सहायक।

ShortHolder

Short लिए धारक।

ShortSeqHelper

ShortSeqHelper लिए हेल्पर।

ShortSeqHolder

ShortSeq लिए धारक।

StringHolder

String लिए धारक।

StringSeqHelper

स्ट्रिंग्स की एक सरणी

StringSeqHolder

स्ट्रिंग्स की एक सरणी

StringValueHelper

StringValue लिए सहायक।

StructMember

इंटरफ़ेस रिपॉजिटरी में एक IDL struct एक सदस्य का वर्णन करता है, जिसमें struct सदस्य का नाम, struct सदस्य का प्रकार और टाइप किए गए प्रकार जो सदस्य के IDL प्रकार का प्रतिनिधित्व करता है, struct सदस्य का वर्णन करता है।

StructMemberHelper

हेल्पर फॉर StructMember

TCKind

IDL enum TCKind का जावा मैपिंग, जो TypeCode ऑब्जेक्ट के प्रकार को निर्दिष्ट करता है।

TypeCode

एक विशिष्ट CORBA डेटा प्रकार के बारे में जानकारी के लिए एक कंटेनर।

TypeCodeHolder

TypeCode लिए धारक।

ULongLongSeqHelper

ULongLongSeq लिए ULongLongSeq

ULongLongSeqHolder

ULongLongSeq लिए धारक।

ULongSeqHelper

ULongSeq लिए हेल्पर।

ULongSeqHolder

ULongSeq लिए धारक।

UnionMember

आईडीएल संघ के एक सदस्य के इंटरफ़ेस रिपॉजिटरी में एक विवरण।

UnionMemberHelper

UnionMember लिए हेल्पर।

UnknownUserExceptionHelper

UnknownUserException सहायक के लिए सहायक।

UnknownUserExceptionHolder

UnknownUserException लिए धारक।

UShortSeqHelper

UShortSeq लिए हेल्पर।

UShortSeqHolder

UShortSeq लिए धारक।

ValueBaseHelper
ValueBaseHolder

होल्डर फॉर ValueBase

ValueMember

एक value वस्तु के एक सदस्य के इंटरफ़ेस रिपॉजिटरी में एक विवरण।

ValueMemberHelper

ValueMember लिए हेल्पर।

VersionSpecHelper

VersionSpec लिए हेल्पर।

VisibilityHelper

हेल्पर फॉर Visibility

WCharSeqHelper

WCharSeq लिए हेल्पर।

WCharSeqHolder

WCharSeq लिए धारक।

WrongTransactionHelper

WrongTransaction लिए हेल्पर।

WrongTransactionHolder

WrongTransaction लिए धारक।

WStringSeqHelper

WStrings की एक सरणी

WStringSeqHolder

WStrings की एक सरणी

WStringValueHelper

org / omg / CORBA / WStringValueHelper.java IDL-to-Java कंपाइलर (पोर्टेबल), वर्जन "3.0" से orb.idl 31 मई 1999 से 22:27:30 बजे GMT + 00: 00 तक उत्पन्न वर्ग परिभाषा है निम्नलिखित OMG विशिष्टताओं के अनुरूप संशोधित किया गया है: ORB कोर को CORBA 2.3.1 ( formal/99-10-07 ) IDL / Java भाषा मैपिंग द्वारा परिभाषित किया गया है जैसा कि ptc/00-01-08 में परिभाषित किया गया है।

अपवाद सारांश
अपवाद विवरण
ACTIVITY_COMPLETED

ACTIVITY_COMPLETED सिस्टम अपवाद को किसी भी विधि पर उठाया जा सकता है जिसके लिए गतिविधि संदर्भ एक्सेस किया गया है।

ACTIVITY_REQUIRED

ACTIVITY_REQUIRED सिस्टम अपवाद को किसी भी विधि पर उठाया जा सकता है जिसके लिए एक गतिविधि संदर्भ आवश्यक है।

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

डायनेमिक मेमोरी को मुक्त करने के प्रयास में ओआरबी विफल होने पर अपवाद को फेंक दिया जाता है, उदाहरण के लिए ढेर भ्रष्टाचार या मेमोरी सेगमेंट लॉक होने के कारण।

IMP_LIMIT

यह अपवाद इंगित करता है कि ORB रन समय में एक कार्यान्वयन सीमा पार हो गई थी।

INITIALIZE

अपवाद तब फेंका जाता है जब ORB को इसके प्रारंभ के दौरान विफलता मिली हो, जैसे कि नेटवर्किंग संसाधनों को प्राप्त करने में विफलता या कॉन्फ़िगरेशन त्रुटि का पता लगाना।

INTERNAL

यह अपवाद ORB में एक आंतरिक विफलता को इंगित करता है, उदाहरण के लिए, यदि एक ORB ने अपने आंतरिक डेटा संरचनाओं के भ्रष्टाचार का पता लगाया है।

INTF_REPOS

जब ORB इंटरफ़ेस रिपॉजिटरी तक नहीं पहुंच सकता, या इंटरफ़ेस रिपॉजिटरी से संबंधित कुछ अन्य विफलता का पता लगाया जाता है, तो अपवाद उत्पन्न हुआ।

INV_FLAG

अपवाद को तब फेंक दिया जाता है जब एक अमान्य ध्वज एक ऑपरेशन में पारित किया गया था (उदाहरण के लिए, जब एक DII अनुरोध बनाते हैं)।

INV_IDENT

यह अपवाद इंगित करता है कि एक IDL पहचानकर्ता वाक्यविन्यास रूप से अमान्य है।

INV_OBJREF

यह अपवाद इंगित करता है कि एक वस्तु संदर्भ आंतरिक रूप से विकृत है।

INV_POLICY

मानक अपवाद तब फेंका जाता है जब Policy बीच असंगतता के कारण एक आह्वान नहीं किया जा सकता है जो विशेष आह्वान पर लागू होता है।

INVALID_ACTIVITY

INVALID_ACTIVITY सिस्टम अपवाद को गतिविधि या लेन-देन सेवाओं के फिर से शुरू करने के तरीकों पर उठाया जा सकता है यदि लेनदेन या गतिविधि को उस संदर्भ में फिर से शुरू किया जाता है जिसमें से इसे निलंबित कर दिया गया था।

INVALID_TRANSACTION

अनुरोध को अमान्य लेन-देन के संदर्भ में ले जाने पर अपवाद को फेंक दिया गया।

MARSHAL

नेटवर्क से अनुरोध या उत्तर संरचनात्मक रूप से अमान्य है।

NO_IMPLEMENT

यह अपवाद इंगित करता है कि भले ही लागू किया गया ऑपरेशन मौजूद है (इसमें IDL परिभाषा है), उस ऑपरेशन के लिए कोई कार्यान्वयन मौजूद नहीं है।

NO_MEMORY

ओआरबी रन टाइम मेमोरी से बाहर हो जाने पर अपवाद फेंक दिया जाता है।

NO_PERMISSION

अपवाद तब फेंका जाता है जब एक आह्वान विफल हो गया क्योंकि कॉलर के पास अपर्याप्त विशेषाधिकार हैं।

NO_RESOURCES

ओआरबी ने कुछ सामान्य संसाधन सीमा का सामना किया है जब अपवाद को फेंक दिया गया।

NO_RESPONSE

यह अपवाद तब उठाया जाता है जब कोई क्लाइंट एक आस्थगित तुल्यकालिक कॉल के परिणाम को प्राप्त करने का प्रयास करता है, लेकिन अनुरोध के लिए प्रतिक्रिया अभी तक उपलब्ध नहीं है।

OBJ_ADAPTER

यह अपवाद आम तौर पर एक प्रशासनिक बेमेल को इंगित करता है, उदाहरण के लिए, एक सर्वर ने एक नाम के तहत कार्यान्वयन रिपॉजिटरी के साथ खुद को पंजीकृत करने का प्रयास किया हो सकता है जो पहले से उपयोग में है, या रिपॉजिटरी के लिए अज्ञात है।

OBJECT_NOT_EXIST

जब भी हटाए गए ऑब्जेक्ट पर एक आह्वान किया गया तो अपवाद उठाया गया।

PERSIST_STORE

यह अपवाद लगातार संग्रहण विफलता को इंगित करता है, उदाहरण के लिए, डेटाबेस कनेक्शन या डेटाबेस का भ्रष्टाचार स्थापित करने में विफलता।

PolicyError

पॉलिसी की त्रुटि होने पर एक उपयोगकर्ता अपवाद को फेंक दिया जाता है।

REBIND

REBIND तब उठाया जाता है जब वर्तमान प्रभावी RebindPolicy, में NO_REBIND या NO_RECONNECT का मान होता है और स्थिति OBJJ_FORWARD के साथ एक LocateReply संदेश में एक बाध्य ऑब्जेक्ट संदर्भ परिणामों पर एक आह्वान या स्थिति LOCATION_FORWARD के साथ एक उत्तर संदेश होता है।

SystemException

सभी CORBA मानक अपवादों के लिए मूल वर्ग।

TIMEOUT

जब कोई वितरण नहीं किया गया है और निर्दिष्ट समय-टू-लाइव अवधि को पार कर लिया गया है, तो समय बढ़ा है।

TRANSACTION_MODE

CORBA TRANSACTION_MODE अपवाद को क्लाइंट ORB द्वारा फेंका जाता है यदि यह IOR में InvocationPolicy के बीच एक बेमेल का पता लगाता है और चुना गया आमंत्रण पथ (यानी, प्रत्यक्ष या रूट किए गए आह्वान)।

TRANSACTION_REQUIRED

अपवाद इंगित करता है कि अनुरोध ने एक शून्य लेनदेन संदर्भ लिया है, लेकिन एक सक्रिय लेनदेन की आवश्यकता है।

TRANSACTION_ROLLEDBACK

अपवाद को फेंक दिया गया है जब अनुरोध के साथ जुड़े लेन-देन को पहले ही वापस रोल किया गया है या वापस रोल करने के लिए चिह्नित किया गया है।

TRANSACTION_UNAVAILABLE

CORBA TRANSACTION_UNAVAILABLE अपवाद को ORB द्वारा फेंका जाता है, जब वह लेन-देन सेवा संदर्भ को संसाधित नहीं कर सकता, क्योंकि लेन-देन सेवा से इसका संबंध असामान्य रूप से समाप्त हो गया है।

TRANSIENT

ओआरबी एक वस्तु तक पहुंचने का प्रयास करने और विफल होने पर अपवाद को फेंक दिया गया।

UNKNOWN

यह अपवाद तब उठाया जाता है यदि कोई ऑपरेशन कार्यान्वयन एक गैर-कोर्बा अपवाद (जैसे कि कार्यान्वयन की प्रोग्रामिंग भाषा के लिए विशिष्ट अपवाद) फेंकता है, या यदि कोई ऑपरेशन उपयोगकर्ता अपवाद को उठाता है जो ऑपरेशन की अभिव्यक्ति में प्रकट नहीं होता है।

UnknownUserException

एक वर्ग जिसमें सर्वर द्वारा उपयोगकर्ता अपवाद शामिल हैं।

UserException

CORBA IDL- परिभाषित उपयोगकर्ता अपवादों के लिए मूल वर्ग।

WrongTransaction

CORBA WrongTransaction उपयोगकर्ता-परिभाषित अपवाद।

पैकेज org.omg.CORBA विवरण

कक्षा ORB सहित जावा टीएम प्रोग्रामिंग भाषा को ओएमजी कॉर्बा एपीआई की मैपिंग प्रदान करता है, जिसे लागू किया जाता है ताकि एक प्रोग्रामर इसे पूरी तरह कार्यात्मक ऑब्जेक्ट अनुरोध ब्रोकर (ओआरबी) के रूप में उपयोग कर सके।

आधिकारिक कोरबा विनिर्देशों के समर्थित वर्गों की एक सटीक सूची के लिए जिसके साथ जावा [टीएम] प्लेटफ़ॉर्म, मानक संस्करण 6 का अनुपालन करता है, जावा [टीएम] एसई 6 में कोरा के समर्थन के लिए आधिकारिक विनिर्देश देखें।

सामान्य जानकारी

इस खंड की जानकारी किसी ऐसे व्यक्ति के लिए प्रासंगिक है जो इंटरफ़ेस परिभाषा भाषा (IDL) फ़ाइलों को संकलित करता है और क्लाइंट और सर्वर लिखने के लिए ORB का उपयोग करता है।

इस खंड में वर्णित वर्गों और इंटरफेस को चार समूहों में रखा जा सकता है: ORB classes , अपवाद, Helper कक्षाएं, और Holder कक्षाएं।

ORB कक्षा

एक ओआरबी हैंडल (या ब्रोकर्स) क्लाइंट के बीच विधि और सर्वर पर विधि के कार्यान्वयन को लागू करता है। क्योंकि क्लाइंट और सर्वर एक नेटवर्क पर कहीं भी हो सकते हैं, और क्योंकि इनवोकेशन और कार्यान्वयन विभिन्न प्रोग्रामिंग भाषाओं में लिखे जा सकते हैं, इस संचार को पूरा करने के लिए ORB पर्दे के पीछे बहुत काम करता है।

ज्यादातर ओआरबी जो करता है वह उपयोगकर्ता के लिए पूरी तरह से पारदर्शी होता है, और CORBA पैकेज के एक प्रमुख हिस्से में पर्दे के पीछे ओआरबी द्वारा उपयोग की जाने वाली कक्षाएं होती हैं। परिणाम यह है कि अधिकांश प्रोग्रामर इस पैकेज के केवल एक छोटे से हिस्से का सीधे उपयोग करेंगे। वास्तव में, अधिकांश प्रोग्रामर ORB वर्ग से केवल कुछ विधियों, कुछ अपवादों और कभी-कभी, एक धारक वर्ग का उपयोग करेंगे।

ORB तरीके

इससे पहले कि कोई एप्लिकेशन CORBA वातावरण में प्रवेश कर सके, उसे पहले होना चाहिए:

  • ORB और संभवतः ऑब्जेक्ट एडेप्टर (POA) वातावरण में आरंभीकृत किया जाए।
  • ओआरबी ऑब्जेक्ट (भविष्य के ओआरबी संचालन में उपयोग के लिए) और शायद अन्य ऑब्जेक्ट (रूट पीओए या कुछ ऑब्जेक्ट एडेप्टर ऑब्जेक्ट सहित) के संदर्भ प्राप्त करें।

अनुप्रयोगों को आरंभ करने और उचित ऑब्जेक्ट संदर्भ प्राप्त करने के लिए निम्नलिखित ऑपरेशन प्रदान किए जाते हैं:

  • ओआरबी तक पहुंच प्रदान करने वाले संचालन, जिन पर इस खंड में चर्चा की गई है।
  • ऑब्जेक्ट एडेप्टर, इंटरफ़ेस रिपॉजिटरी, नामकरण सेवा और अन्य ऑब्जेक्ट सेवाओं तक पहुंच प्रदान करने वाले संचालन। ये ऑपरेशन अन्य वर्गों में वर्णित हैं।

जब किसी एप्लिकेशन को एक CORBA वातावरण की आवश्यकता होती है तो उसे ORB ऑब्जेक्ट संदर्भ और संभवतः OA ऑब्जेक्ट संदर्भ (जैसे रूट POA) प्राप्त करने के लिए एक तंत्र की आवश्यकता होती है। यह दो उद्देश्यों में कार्य करता है। सबसे पहले, यह ORB और OA वातावरण में एक एप्लिकेशन को इनिशियलाइज़ करता है। दूसरा, यह ओआरबी ऑब्जेक्ट संदर्भ और भविष्य के ओआरबी और ओए परिचालन में उपयोग के लिए ओए ऑब्जेक्ट संदर्भ देता है।

ORB ऑब्जेक्ट संदर्भ प्राप्त करने के लिए, अनुप्रयोग ORB.init ऑपरेशन को कॉल करते हैं। कॉल के पैरामीटर में ORB के लिए एक पहचानकर्ता शामिल हो सकता है जिसके लिए ऑब्जेक्ट संदर्भ की आवश्यकता होती है, और एक arg_list, जो कॉल में पारित होने के लिए पर्यावरण-विशिष्ट डेटा को अनुमति देने के लिए उपयोग किया जाता है।

ये ORB तरीके हैं जो ORB तक पहुंच प्रदान करते हैं:

  • init () init ()
  • init (String [] args, Properties props) init (String [] args, Properties props)
  • init (Applet app, Properties props) init (Applet app, Properties props)

मापदंडों के बिना init() विधि का उपयोग करना एक सिंगलटन ORB की शुरुआत करता है, जो केवल idlj द्वारा हेल्पर कक्षाओं में उत्पन्न कोड में any एस टाइप टाइपकास्ट सृजन दे सकता है।

एप्लिकेशन को एक पोर्टेबल साधन की आवश्यकता होती है जिसके द्वारा अपने प्रारंभिक ऑब्जेक्ट संदर्भ प्राप्त करने के लिए। रूट POA, POA करंट, इंटरफ़ेस रिपॉजिटरी और विभिन्न ऑब्जेक्ट सर्विसेज इंस्टेंसेस के लिए संदर्भ आवश्यक हैं। अनुप्रयोग द्वारा आवश्यक कार्यक्षमता नामकरण सेवा द्वारा प्रदान की गई के समान है। हालाँकि, OMG यह आदेश नहीं देना चाहता है कि नामकरण सेवा को सभी अनुप्रयोगों के लिए उपलब्ध कराया जाए ताकि उन्हें आंशिक रूप से आरंभिक रूप दिया जा सके। नतीजतन, इस खंड में दिखाए गए संचालन, नामकरण सेवा का एक सरलीकृत, स्थानीय संस्करण प्रदान करते हैं, जिसका उपयोग ऑब्जेक्ट संदर्भ के एक छोटे, परिभाषित सेट को प्राप्त करने के लिए कर सकते हैं, जो इसके संचालन के लिए आवश्यक हैं। क्योंकि इस तंत्र के साथ वस्तुओं के केवल एक छोटे से परिभाषित सेट की उम्मीद की जाती है, नामकरण संदर्भ को एकल-स्तरीय नाम स्थान होने के लिए समतल किया जा सकता है। इस सरलीकरण के परिणामस्वरूप आवश्यक कार्यक्षमता प्राप्त करने के लिए केवल दो कार्यों को परिभाषित किया जा रहा है।

प्रारंभिक संदर्भ ओआरबी ऑब्जेक्ट इंटरफ़ेस में दिए गए दो ऑपरेशनों के माध्यम से प्राप्त किए जाते हैं, प्रारंभिक वस्तु संदर्भों को सूचीबद्ध करने और हल करने के लिए सुविधाएं प्रदान करते हैं। य़े हैं:

  • resolve_initial_references (String name) resolve_initial_references (String name)
  • list_initial_services () list_initial_services ()
  • register_initial_reference (String id, org.omg.CORBA.Object obj) register_initial_reference (String id, org.omg.CORBA.Object obj)

एक उदाहरण जो इन विधियों में से कुछ का उपयोग करता है, जावा आईडीएल के साथ प्रारंभ हो रहा है

अपवाद

जावा आईडीएल में अपवाद जावा प्रोग्रामिंग भाषा में लिखे गए किसी भी कोड के समान हैं। यदि किसी विधि को अपवाद फेंकने के लिए परिभाषित किया गया है, तो उस पद्धति का उपयोग करने वाले किसी भी कोड में एक try / catch ब्लॉक होना चाहिए और उस अपवाद को संभालना चाहिए जब इसे फेंक दिया जाता है।

जावा आईडीएल अपवादों पर प्रलेखन में अधिक जानकारी है और सिस्टम अपवादों और उपयोगकर्ता-परिभाषित अपवादों के बीच अंतर को बताते हैं।

निम्नलिखित सिस्टम अपवादों की एक सूची है (जो कि SystemException माध्यम से java.lang.RuntimeException माध्यम से प्राप्त होने वाले अनियंत्रित अपवाद java.lang.RuntimeException ) पैकेज में परिभाषित किए गए हैं। org.omg.CORBA :

        BAD_CONTEXT
        BAD_INV_ORDER
        BAD_OPERATION
        BAD_PARAM
        BAD_TYPECODE
        COMM_FAILURE
        DATA_CONVERSION
        FREE_MEM
        IMP_LIMIT
        INITIALIZE
        INTERNAL
        INTF_REPOS
        INVALID_TRANSACTION
        INV_FLAG
        INV_IDENT
        INV_OBJREF
        INV_POLICY
        MARSHAL
        NO_IMPLEMENT
        NO_MEMORY
        NO_PERMISSION
        NO_RESOURCES
        NO_RESPONSE
        OBJECT_NOT_EXIST
        OBJ_ADAPTER
        PERSIST_STORE
        TRANSACTION_REQUIRED
        TRANSACTION_ROLLEDBACK
        TRANSIENT
        UNKNOWN

पैकेज में परिभाषित उपयोगकर्ता द्वारा परिभाषित अपवादों की एक सूची है। org.omg.CORBA

        Bounds
        UnknownUserException
        WrongTransaction 
        PolicyError

सबपैकेज

उनके नाम के हिस्से के रूप में "पैकेज" के साथ CORBA पैकेज के अंदर कुछ पैकेज हैं। ये पैकेज आम तौर पर काफी छोटे होते हैं, क्योंकि वे सभी CORBA पैकेज में इंटरफेस और कक्षाओं द्वारा उपयोग के लिए अपवाद या कक्षाएं प्रदान करते हैं।

उदाहरण के लिए, पैकेज org.omg.CORBA.TypeCodePackage में org.omg.CORBA.TypeCodePackage में दो अपवाद दिए गए हैं। ये अपवाद हैं:

  • BadKind
  • Bounds
पैकेज org.omg.CORBA.ORBPackage में दो अपवाद हैं:
  • InvalidName
  • InconsistentTypeCode

एक और पैकेज जो कि कोर्बा का एक उप-पैकेज है, portable पैकेज है। यह ओआरबी एपीआई का एक सेट प्रदान करता है जो एक विक्रेता के आईडीएल कंपाइलर द्वारा उत्पन्न कोड को दूसरे विक्रेता के ओआरबी पर चलाने के लिए संभव बनाता है।

धारक वर्ग

बाहर और भीतर के पैरामीटर पासिंग मोड के लिए समर्थन के लिए अतिरिक्त धारक वर्गों के उपयोग की आवश्यकता होती है। क्योंकि जावा प्रोग्रामिंग लैंग्वेज आउट या आउटऑउट मापदंडों का समर्थन नहीं करती है, इसलिए होल्डर को संशोधित करने के लिए एक पैरामीटर पास करने के साधन के रूप में जरूरत होती है। पोर्टेबल स्टब्स और कंकालों का समर्थन करने के लिए, धारक वर्ग भी org.omg.CORBA.portable.Streamable इंटरफ़ेस लागू करते हैं।

प्रकार के नाम के लिए "धारक" को जोड़कर धारक वर्गों का नाम दिया गया है। प्रकार का नाम जावा प्रोग्रामिंग भाषा में इसके नाम को संदर्भित करता है। उदाहरण के लिए, जावा प्रोग्रामिंग लैंग्वेज में Account नाम के इंटरफेस के लिए एक धारक वर्ग का नाम AccountHolder

org.omg.CORBA पैकेज में सभी मूल IDL org.omg.CORBA लिए धारक कक्षाएं उपलब्ध हैं। इसलिए, उदाहरण के लिए, LongHolder , ShortHolder , FloatHolder ShortHolder लिए पहले से ही परिभाषित कक्षाएं हैं। सभी नामित उपयोगकर्ता-परिभाषित आईडीएल प्रकारों के लिए भी कक्षाएं उत्पन्न की जाती हैं, typedefs द्वारा परिभाषित किया typedefs । (ध्यान दें कि इस संदर्भ में परिभाषित उपयोगकर्ता में ओएमजी विनिर्देशों में परिभाषित प्रकार शामिल हैं जैसे कि इंटरफ़ेस रिपॉजिटरी और ओएमजी सेवाओं के लिए।)

प्रत्येक धारक वर्ग में है:

  • एक उदाहरण से एक निर्माता
  • एक डिफ़ॉल्ट निर्माता
  • एक सार्वजनिक उदाहरण सदस्य, value जो टाइप किया गया मूल्य है।
  • एक इनपुट स्ट्रीम पढ़ने और टाइप के value फील्ड में कंटेंट असाइन करने की विधि
  • आउटपुट फ़ील्ड में value फ़ील्ड का value लिखने के लिए एक विधि
  • टाइप का टाइपबेक पाने के लिए एक विधि

डिफ़ॉल्ट कंस्ट्रक्टर जावा भाषा द्वारा परिभाषित प्रकार के लिए डिफ़ॉल्ट मान के लिए मान फ़ील्ड सेट करता है:

  • बूलियन के लिए false है
  • संख्यात्मक और चार प्रकार के लिए
  • तार और वस्तु संदर्भों के लिए null

एक उदाहरण के रूप में, यदि इंटरफ़ेस Account , ओएमजी आईडीएल में परिभाषित, जावा प्रोग्रामिंग भाषा में मैप किया गया था, तो निम्न धारक वर्ग उत्पन्न होगा:

public final class AccountHolder implements 
    org.omg.CORBA.portable.Streamable
{
  // field that holds an Account object
  public Account value = null;

  // default constructor
  public AccountHolder ()
  {
  }
  
  // creates a new AccountHolder from initialValue
  public AccountHolder (Account initialValue)
  {
    value = initialValue;
  }
  
  // reads the contents of i and assigns the contents to value
  public void _read (org.omg.CORBA.portable.InputStream i)
  {
    value = AccountHelper.read (i);
  }

  // writes value to o
  public void _write (org.omg.CORBA.portable.OutputStream o)
  {
    AccountHelper.write (o, value);
  }
 
  // returns the typecode for Account
  public org.omg.CORBA.TypeCode _type ()
  {
    return AccountHelper.type ();
  }

}

धारक वर्गों के बारे में अधिक जानकारी के लिए, अध्याय 1.4 देखें, ptc/00-01-08 लिए बुनियादी प्रकारों के लिए ptc/00-01-08 । पैकेज में परिभाषित धारक कक्षाएं org.omg.CORBA हैं:

     AnyHolder
     AnySeqHolder
     BooleanHolder
     BooleanSeqHolder
     ByteHolder
     CharHolder
     CharSeqHolder
     CurrentHolder
     DoubleHolder
     DoubleSeqHolder
     FixedHolder
     FloatHolder
     FloatSeqHolder
     IntHolder
     LongHolder
     LongLongSeqHolder
     LongSeqHolder
     ObjectHolder
     OctetSeqHolder
     ParameterModeHolder
     PolicyErrorHolder
     PolicyListHolder
     PrincipalHolder
     ServiceInformationHolder
     ShortHolder
     ShortSeqHolder
     StringHolder
     StringSeqHolder
     TypeCodeHolder
     ULongLongSeqHolder
     ULongSeqHolder
     UnknownUserExceptionHolder
     UShortSeqHolder
     ValueBaseHolder
     WCharSeqHolder
     WrongTransactionHolder
     WStringSeqHolder

हेल्पर क्लासेस

हेल्पर फाइलें प्रकार में हेरफेर करने के लिए आवश्यक कई स्थिर तरीकों की आपूर्ति करती हैं। इसमें शामिल है:

  • प्रकार के लिए Any सम्मिलित और अर्क संचालन
  • रिपॉजिटरी आईडी प्राप्त करना
  • टंकण
  • एक धारा से और प्रकार से पढ़ना और लिखना
  • ValueHelper इंटरफ़ेस लागू करें (यदि यह उपयोगकर्ता द्वारा परिभाषित मूल्य प्रकार है)

मैप किए गए IDL इंटरफ़ेस या सार इंटरफ़ेस के लिए सहायक वर्ग में संकीर्ण ऑपरेशन (ओं) भी शामिल हैं। स्थिर संकीर्ण विधि एक org.omg.CORBA.Object को एक अधिक विशिष्ट प्रकार के ऑब्जेक्ट संदर्भ में संकुचित करने की अनुमति देती है। IDL अपवाद CORBA.BAD_PARAM को फेंक दिया जाता है यदि संकीर्ण विफल रहता है क्योंकि ऑब्जेक्ट संदर्भ अनुरोधित प्रकार का समर्थन नहीं करता है। अन्य प्रकार की त्रुटियों को इंगित करने के लिए एक अलग सिस्टम अपवाद उठाया जाता है। एक null को संकीर्ण करने की कोशिश करना हमेशा null वापसी मूल्य के साथ सफल होगा। आम तौर पर, एक आवेदन प्रोग्रामर का उपयोग करने वाली एकमात्र सहायक विधि narrow विधि है। अन्य तरीकों को आम तौर पर पर्दे के पीछे उपयोग किया जाता है और प्रोग्रामर के लिए पारदर्शी होते हैं।

हेल्पर वर्ग दो व्यापक श्रेणियों में आते हैं, मूल्य प्रकार के लिए सहायक और गैर मूल्य प्रकार के लिए सहायक । क्योंकि एक श्रेणी में सभी सहायक वर्ग समान तरीके प्रदान करते हैं, इसलिए सहायक श्रेणी के प्रत्येक श्रेणी का एक सामान्य विवरण यहां प्रस्तुत किया गया है।

जब ओएमजी आईडीएल को जावा प्रोग्रामिंग भाषा में मैप किया जाता है, तो प्रत्येक उपयोगकर्ता-परिभाषित प्रकार के लिए एक "सहायक" वर्ग उत्पन्न होता है। इस उत्पन्न वर्ग में उपयोक्ता के परिभाषित प्रकार का नाम होगा जिसमें प्रत्यय Helper संलग्न होगा। उदाहरण के लिए, यदि इंटरफ़ेस Account को OMG IDL में परिभाषित किया गया है, तो idlj कंपाइलर स्वचालित रूप से idlj नामक एक वर्ग उत्पन्न करेगा। AccountHelper वर्ग में टाइप के उदाहरणों के हेरफेर के लिए आवश्यक स्टैटिक विधियाँ होंगी, इस स्थिति में, Account ऑब्जेक्ट।

narrow विधि

जब कोई ऑब्जेक्ट किसी विधि के लिए रिटर्न वैल्यू है, तो यह जेनेरिक ऑब्जेक्ट के रूप में वापस किया जाता है, या तो एक org.omg.CORBA.Object ऑब्जेक्ट या एक java.lang.Object ऑब्जेक्ट। इस ऑब्जेक्ट को इसके विशिष्ट प्रकार पर डाला जाना चाहिए, इससे पहले कि इसे चालू किया जा सके। उदाहरण के लिए, एक Account वस्तु को एक सामान्य वस्तु के रूप में लौटाया जाएगा और उसे एक Account वस्तु तक सीमित कर दिया जाना चाहिए, ताकि Account विधियां उस पर कॉल की जा सकें।

narrow विधि के दो रूप हैं, एक जो एक org.omg.CORBA.Object ऑब्जेक्ट लेता है और एक जो java.lang.Object ऑब्जेक्ट लेता है। इंटरफ़ेस अमूर्त है या नहीं यह निर्धारित करता है कि उसकी सहायक कक्षा कौन सी narrow विधि प्रदान करेगी। एक इंटरफ़ेस के लिए सहायक वर्ग जो अमूर्त नहीं है उसके पास एक narrow विधि होगी जो एक CORBA ऑब्जेक्ट लेती है, जबकि एक इंटरफ़ेस के लिए narrow विधि जो जावा प्रोग्रामिंग भाषा में एक ऑब्जेक्ट लेगी। एक गैर-अमूर्त इंटरफ़ेस के लिए सहायक वर्ग जिसमें कम से कम एक सार आधार इंटरफ़ेस है, narrow विधि के दोनों संस्करण प्रदान करेगा।

हैलो वर्ल्ड ट्यूटोरियल इस तरह दिखने वाली एक narrow विधि का उपयोग करता है:

// create and initialize the ORB
        ORB orb = ORB.init(args, null);

        // get the root naming context
        org.omg.CORBA.Object objRef = 
            orb.resolve_initial_references("NameService");
        // Use NamingContextExt instead of NamingContext. This is 
        // part of latest Inter-Operable naming Service.  
        NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
 
        // resolve the Object Reference in Naming
        String name = "Hello";
        helloImpl = HelloHelper.narrow(ncRef.resolve_str(name));

एक बेसिक हेल्पर क्लास का उदाहरण

एक बुनियादी सहायक वर्ग, इस स्पष्टीकरण के प्रयोजनों के लिए, हर हेल्पर वर्ग द्वारा प्रदान की जाने वाली विधियों में से एक है, साथ ही एक narrow विधि अगर ओएमजी आईडीएल मैप में परिभाषित प्रकार जावा प्रोग्रामिंग भाषा में एक इंटरफेस के लिए है। वे प्रकार जो मूल्य प्रकार नहीं हैं, उनके लिए एक मूल सहायक वर्ग उत्पन्न होगा।

उदाहरण के लिए, यह मानते हुए कि इंटरफ़ेस Account एक मान प्रकार IDL प्रकार नहीं है और यह एक सार इंटरफ़ेस नहीं है और इसका कोई सार आधार इंटरफेस नहीं है, इसका AccountHelper वर्ग इस तरह दिखेगा:

abstract public class AccountHelper
{
  private static String  _id = "IDL:Account:1.0";

  // inserts an Account object into an Any object
  public static void insert (org.omg.CORBA.Any a, Account that)
  {
    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
    a.type (type ());
    write (out, that);
    a.read_value (out.create_input_stream (), type ());
  }

  // extracts an Account object from an Any object
  public static Account extract (org.omg.CORBA.Any a)
  {
    return read (a.create_input_stream ());
  }

  
  private static org.omg.CORBA.TypeCode __typeCode = null;
  // gets the typecode for this type
  synchronized public static org.omg.CORBA.TypeCode type ()
  {
    if (__typeCode == null)
    {
      __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (AccountHelper.id (), "Account");
    }
    return __typeCode;
  }

  // gets the repository id for this type
  public static String id ()
  {
    return _id;
  }

  // reads an Account object from an input stream
  public static Account read (org.omg.CORBA.portable.InputStream istream)
  {
    return narrow (istream.read_Object (_AccountStub.class));
  }

  // writes an Account object to an outputstream
  public static void write (org.omg.CORBA.portable.OutputStream ostream, Account value)
  {
    ostream.write_Object ((org.omg.CORBA.Object) value);
  }

  // converts (narrows) an Object to an Account object
  public static Account narrow (org.omg.CORBA.Object obj)
  {
    if (obj == null)
      return null;
    else if (obj instanceof Account)
      return (Account)obj;
    else if (!obj._is_a (id ()))
      throw new org.omg.CORBA.BAD_PARAM ();
    else
    {
      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
      _AccountStub stub = new _AccountStub ();
      stub._set_delegate(delegate);
      return stub;
    }
  }

}

मूल्य प्रकार सहायक कक्षाएं

मूल्य प्रकार के लिए एक सहायक वर्ग में गैर-मूल्य प्रकार के तरीकों के लिए उत्पन्न एक ही तरीके के विभिन्न रेंडरिंग शामिल हैं। मुख्य अंतर यह है कि मूल्य प्रकार वे प्रकार होते हैं जिन्हें मान के रूप में पास किया जा सकता है या किसी पद्धति के मान लौटा सकते हैं, जिसका अर्थ है कि उन्हें क्रमबद्ध होना चाहिए।

मान लें कि Address एक मान प्रकार है, तो पता AddressHelper ऐसा दिखेगा:

abstract public class AddressHelper
{
  private static String  _id = "IDL:Address:1.0";

  // same as for non-value type
  public static void insert (org.omg.CORBA.Any a, Address that)
  {
    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
    a.type (type ());
    write (out, that);
    a.read_value (out.create_input_stream (), type ());
  }

  // same as for non-value type
  public static Address extract (org.omg.CORBA.Any a)
  {
    return read (a.create_input_stream ());
  }

  private static org.omg.CORBA.TypeCode __typeCode = null;
  private static boolean __active = false;
  
  // getting the typecode for the type
  synchronized public static org.omg.CORBA.TypeCode type ()
  {
    if (__typeCode == null)
    {
      synchronized (org.omg.CORBA.TypeCode.class)
      {
        if (__typeCode == null)
        {
          if (__active)
          {
            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
          }
          __active = true;
          org.omg.CORBA.ValueMember[] _members0 = new org.omg.CORBA.ValueMember[0];
          org.omg.CORBA.TypeCode _tcOf_members0 = null;
          __typeCode = org.omg.CORBA.ORB.init ().create_value_tc (_id, "Address", org.omg.CORBA.VM_NONE.value, null, _members0);
          __active = false;
        }
      }
    }
    return __typeCode;
  }

  // same as for non-value type
  public static String id ()
  {
    return _id;
  }

  // reads a serializable instance of Address from the given input stream
  public static Address read (org.omg.CORBA.portable.InputStream istream)
  {
    return (Address)((org.omg.CORBA_2_3.portable.InputStream) istream).read_value (id ());
  }

  // writes a serializable instance of Address to the given output stream
  public static void write (org.omg.CORBA.portable.OutputStream ostream, Address value)
  {
    ((org.omg.CORBA_2_3.portable.OutputStream) ostream).write_value (value, id ());
  }


}

पैकेज में परिभाषित हेल्पर कक्षाएं org.omg.CORBA हैं:

     AnySeqHelper
     BooleanSeqHelper
     CharSeqHelper
     CompletionStatusHelper
     CurrentHelper
     DefinitionKindHelper
     DoubleSeqHelper
     FieldNameHelper
     FloatSeqHelper
     IdentifierHelper
     IDLTypeHelper
     LongLongSeqHelper
     LongSeqHelper
     NameValuePairHelper
     ObjectHelper
     OctetSeqHelper
     ParameterModeHelper
     PolicyErrorCodeHelper
     PolicyErrorHelper
     PolicyHelper
     PolicyListHelper
     PolicyTypeHelper
     RepositoryIdHelper
     ServiceDetailHelper
     ServiceInformationHelper
     SetOverrideTypeHelper
     ShortSeqHelper
     StringSeqHelper
     StringValueHelper
     StructMemberHelper
     ULongLongSeqHelper
     ULongSeqHelper
     UnionMemberHelper
     UnknownUserExceptionHelper
     UShortSeqHelper
     ValueBaseHelper
     ValueMemberHelper
     VersionSpecHelper
     VisibilityHelper
     WCharSeqHelper
     WrongTransactionHelper
     WStringSeqHelper
     WStringValueHelper

अन्य वर्ग

CORBA पैकेज में अन्य कक्षाएं और इंटरफेस, जो पर्दे के पीछे उपयोग किए जाते हैं, को चार समूहों में रखा जा सकता है। तीन समूहों को कुछ क्षमता में अनुरोधों के साथ उपयोग किया जाता है, और चौथे समूह, इंटरफ़ेस रिपॉजिटरी के विषय में, अपने आप में एक श्रेणी है।

ORB द्वारा निर्मित कक्षाएं

पहले समूह में वे कक्षाएं होती हैं जो ORB द्वारा बनाई जाती हैं और इसमें अनुरोध संचालन में उपयोग की जाने वाली जानकारी होती है।
  • TCKind - TypeCode ऑब्जेक्ट के लिए तरह (डेटाटाइप) को इंगित करता है
  • TypeCode - एक डेटाटाइप और संभवतः अन्य जानकारी को इंगित करता है
  • Any - में एक मान और उसका टाइपबॉक्स होता है
  • NamedValue - इसमें एक नाम, कोई Any ऑब्जेक्ट और एक तर्क मोड ध्वज शामिल है। NamedValue ऑब्जेक्ट में विधि तर्क, विधि वापसी मान या एक संदर्भ के बारे में जानकारी होती है।
  • ContextList लिस्ट - स्ट्रिंग्स की एक सूची जो उन संदर्भों का वर्णन करती है जिन्हें हल करने और एक आह्वान के साथ भेजने की आवश्यकता होती है
  • ExceptionList - ExceptionList के लिए TypeCode s की एक सूची जो एक विधि द्वारा फेंकी जा सकती है
  • Environment - एक विधि आह्वान के दौरान फेंके गए अपवाद के लिए एक कंटेनर
  • Context - क्लाइंट से सर्वर तक सहायक जानकारी पास करने के लिए उपयोग की जाने वाली NamedValue ऑब्जेक्ट्स की एक सूची
  • NVList - NamedValue ऑब्जेक्ट्स की एक सूची, जिसका उपयोग तर्कों को पारित करने या परिणाम प्राप्त करने के लिए किया जाता है

अनुरोधों के साथ व्यवहार करने वाली कक्षाएं

वर्गों का दूसरा समूह अनुरोधों से संबंधित है:
  • Object - सभी CORBA ऑब्जेक्ट संदर्भों के लिए आधार वर्ग
  • Request - डीआईआई में मुख्य वर्ग, जिसमें अनुरोध में तर्कों को जोड़ने के लिए तरीके शामिल हैं, विधि के बारे में जानकारी तक पहुँचने के लिए (विधि का नाम, इसके तर्क, अपवाद इसे फेंकता है, और इसी तरह), और इनवॉइस बनाने के लिए। अनुरोध
  • DynamicImplementation - डीएसआई का उपयोग करके सर्वर कार्यान्वयन के लिए बेस क्लास। इसमें विधि invoke , जिसका उपयोग इस वर्ग के कार्यान्वयन के द्वारा किया जाता है ताकि ServerRequest वस्तु की स्थिति का निर्धारण किया जा सके और उसका परिणाम या अपवाद निर्धारित किया जा सके।
  • ServerRequest - डायनेमिक कंकाल इंटरफ़ेस के लिए अनुरोध की स्पष्ट स्थिति को ServerRequest

निरंतरता के रूप में सेवा करने वाले इंटरफेस

तीसरे समूह में इंटरफेस होते हैं जो स्थिरांक के रूप में काम करते हैं। IDL-to-Java मैपिंग में जनादेश है कि IDL एनमों को एक जावा क्लास में मैप किया जाता है, जिसमें उस क्लास में पब्लिक स्टैटिक फाइनल फील्ड के रूप में प्रतिनिधित्व किए गए एन्यूमरेटेड वैल्यूज़ (जैसे DefinitionKind) होते हैं। दूसरी ओर IDL इंटरफ़ेस के बाहर परिभाषित IDL स्थिरांक प्रत्येक स्थिरांक के लिए Java इंटरफ़ेस में मैप किए जाते हैं।

यही कारण है कि org.omg.CORBA पैकेज में कई इंटरफेस एक एकल फ़ील्ड, value युक्त होते हैं, जो एक short । यह फ़ील्ड त्रुटि कोड या मान संशोधक के रूप में ऐसी चीज़ों के लिए उपयोग किया जाने वाला एक स्थिरांक है। उदाहरण के लिए, इंटरफ़ेस BAD_POLICY का value फ़ील्ड अपवाद PolicyError लिए संभावित कारणों में से एक है PolicyError फेंक दिया जाना चाहिए। इस त्रुटि कोड को निर्दिष्ट करने के लिए, आप BAD_POLICY.value उपयोग BAD_POLICY.value

अपवाद PolicyError अपने संभावित त्रुटि कोड के रूप में निम्नलिखित इंटरफेस के value क्षेत्र का उपयोग करता है।

  • BAD_POLICY
  • BAD_POLICY_TYPE
  • BAD_POLICY_VALUE
  • UNSUPPORTED_POLICY
  • UNSUPPORTED_POLICY_VALUE
विधि TypeCode.type_modifier निम्नलिखित इंटरफ़ेस में से किसी एक का value फ़ील्ड लौटाता है। इन इंटरफेस के नाम में VM "मूल्य संशोधक" के लिए खड़ा है।
  • VM_NONE
  • VM_ABSTRACT
  • VM_CUSTOM
  • VM_TRUNCATABLE
ValueMember ऑब्जेक्ट की दृश्यता को दर्शाने के लिए ValueMember ऑब्जेक्ट की पहुंच विधि द्वारा निम्नलिखित स्थिरांक लौटाए जाते हैं।
  • PRIVATE_MEMBER
  • PUBLIC_MEMBER
NamedValue ऑब्जेक्ट्स या विधियों के मापदंडों के रूप में उपयोग किए जाने वाले ये झंडे निम्नलिखित इंटरफेस में परिभाषित किए गए हैं:
  • ARG_IN
  • ARG_INOUT
  • ARG_OUT
  • CTX_RESTRICT_SCOPE

इंटरफ़ेस रिपोजिटरी इंटरफेस और कक्षाएं

चौथे समूह में इंटरफ़ेस रिपॉजिटरी इंटरफेस और कक्षाएं शामिल हैं, जो कि OMG IDL इंटरफ़ेस ir.idl से idlj कंपाइलर द्वारा उत्पन्न की जाती हैं। इंटरफ़ेस रिपॉजिटरी का उद्देश्य इसमें संग्रहीत इंटरफेस की पहचान करना है ताकि उन्हें एक ओआरबी द्वारा एक्सेस किया जा सके। प्रत्येक मॉड्यूल, प्रकार, इंटरफ़ेस, विशेषता, संचालन, पैरामीटर, अपवाद, निरंतर, और इतने पर पूरी तरह से इंटरफ़ेस रिपॉजिटरी एपीआई द्वारा वर्णित है।

एक ORB को इंटरफ़ेस रिपॉजिटरी होने की आवश्यकता नहीं है, और Java IDL में एक शामिल नहीं है। भले ही इस रिलीज़ में इंटरफ़ेस रिपॉजिटरी का कार्यान्वयन शामिल नहीं है, लेकिन टाइप आईआरकोड बनाने के लिए निम्नलिखित IR कक्षाएं और इंटरफेस शामिल किए गए हैं (देखें create_value_tc, create_struct_tc, create_union_tc और create_exception_tc इंटरफ़ेस org.omg.CORBA.ORB में शामिल हैं):
& nbs

  • IRObject
  • IDLType
  • DefinitionKind
  • StructMember
  • UnionMember
  • ValueMember

संबंधित प्रलेखन

ओवरव्यू, गाइड और एक ट्यूटोरियल के लिए, कृपया देखें:

CORBA सुविधाएँ जावा IDL में लागू नहीं की गई हैं

org.omg में शामिल कुछ API को वर्तमान OMG CORBA विनिर्देशन के अनुरूप प्रदान किया गया है, लेकिन JDK TM के सूर्य के रिलीज़ में लागू नहीं किया गया है। यह अन्य JDK लाइसेंसधारियों को मानक एक्सटेंशन और उत्पादों में इस एपीआई के कार्यान्वयन को प्रदान करने में सक्षम बनाता है।

विशेषताएँ कि NO_IMPLEMENT फेंक दें

org.omg में शामिल कुछ API विभिन्न कारणों से NO_IMPLEMENT अपवादों को फेंक देते हैं। इन कारणों में से हैं:

  • कुछ मामलों में, उदाहरण के लिए LocalObject , विनिर्देश के अनुसार पूर्ण कार्यान्वयन इंगित करता है कि इन API को NO_IMPLEMENT फेंकना चाहिए।
  • ज्यादातर मामलों में, उदाहरण के लिए ORB.java , NO_IMPLEMENT फेंकने वाले तरीकों को वास्तव में ORB कोड में कहीं और उपवर्गों में लागू किया जाता है।
  • कुछ मामलों में, उदाहरण के लिए _get_interface_def() और _get_interface , API वास्तव में अभी तक लागू नहीं किए गए हैं।

इस रिलीज़ में सुविधाओं या एपीआई का सामान्य सारांश लागू नहीं:

  • इंटरफ़ेस रिपोजिटरी। जावा आईडीएल के सामान्य संचालन के लिए एक इंटरफ़ेस रिपॉजिटरी की आवश्यकता नहीं है।
  • जावा आईडीएल long double समर्थन नहीं करता है।
  • नीतियां ( Policy ) और उन्हें प्राप्त करने के तरीके लागू नहीं किए जाते हैं।
  • डोमेन प्रबंधक ( DomainManager ) और उन्हें प्राप्त करने के तरीके लागू नहीं किए जाते हैं।
  • सेवा सूचना ServiceInformation और ORB विधि public boolean get_service_information(short service_type, ServiceInformationHolder service_info) कार्यान्वित नहीं की जाती हैं।
  • सिंगल-थ्रेडिंग ( perform_work , work_pending ) का समर्थन करने के लिए perform_work work_pending लागू नहीं किए गए हैं।
  • IDL संदर्भ।

पैकेज org.omg.CORBA में org.omg.CORBA सुविधाओं की विशिष्ट सूची

पैकेज में org.omg.CORBA तरीके org.omg.CORBA :

  • ORB
    • public org.omg.CORBA.Policy create_policy(int type, org.omg.CORBA.Any val)
    • public void perform_work()
    • public boolean work_pending()
    • public org.omg.CORBA.Current get_current()
    • create_operation_list
    • get_default_context
    • get_service_information
    • अप्रचलित DynAnys ( DynamicAny पैकेज के पक्ष में पदावनत)
जबसे:
JDK1.2

Original text