|
JavaTM Platform Standard Ed. 6 |
|||||||||
��һ�������� ��һ�������� | ��� ��� ������ |
����
����
�ӿ�ժҪ | |
---|---|
ARG_IN | ����÷��Ż� "input" ��������ʾ�ӿͻ��˽��ò������ݵ��������� |
ARG_INOUT | ��ʾ����ijһ���õ����������IJ�������ζ�Ž��ò����ӿͻ��˴�����������Ȼ���ٴӷ��������ؿͻ��ˡ� |
ARG_OUT | ��ʾ���õ� "input" �����ij�������ζ�Ŵӷ��������ò������ݵ��ͻ��ˡ� |
BAD_POLICY | ������� PolicyError �쳣�е� PolicyErrorCode�� |
BAD_POLICY_TYPE | ������� PolicyError �쳣�е� PolicyErrorCode�� |
BAD_POLICY_VALUE | ����ָʾij������ֵ��ֵ���ò���ֵ���� create_policy �������� ORB ���ж��壩�����е���Ч�������Ͷ����Dz���ȷ�ġ� |
CTX_RESTRICT_SCOPE | �������� Context.get_values �����ĵڶ�������������������Χ�ı�־�� |
Current | �� Current �ӿ������Ľӿ����� ORB �� CORBA ������������������е�ִ���̹߳�������Ϣ�������ģ��� |
CurrentOperations | Current �Ľӿڡ� |
CustomMarshal | ���� ORB ���������û�ʹ�õij��� value ���͡� |
DataInputStream | ������������������ȡ�����������͵ķ������Ա�����Զ���ֵ���͡� |
DataOutputStream | ����������������������д��������ķ������Ա�����Զ���ֵ���͡� |
DomainManager | �ṩ����������ϵ�����䵼��������ʹ�����Ļ��ƣ��Լ����������ͷ��ʲ��ԵĻ��ơ� |
DomainManagerOperations | �� DomainManager �ṩ���ʲ��Եķ����� |
DynAny | �ѹ�ʱ�� ʹ���µ� DynAny ��� |
DynArray | �ѹ�ʱ�� ʹ���µ� DynArray ��� |
DynEnum | �ѹ�ʱ�� ʹ���µ� DynEnum ��� |
DynFixed | �ѹ�ʱ�� ʹ���µ� DynFixed ��� |
DynSequence | �ѹ�ʱ�� ʹ���µ� DynSequence ��� |
DynStruct | �ѹ�ʱ�� ʹ���µ� DynStruct ��� |
DynUnion | �ѹ�ʱ�� ʹ���µ� DynUnion ��� |
DynValue | �ѹ�ʱ�� ʹ���µ� DynValue ��� |
IDLType | �����б�ʾ OMG IDL ���͵Ľӿڴ洢�⣨Interface Repository��IR������̳еij���ӿڡ� |
IDLTypeOperations | �˽ӿڱ��������� IDLType ����ʵ�֡� |
IRObject | IRObject IDL �ӿڱ�ʾ��һ��Ľӿڣ��������� Interface Repository �ӿڣ��������� Repository �������������Ըýӿڡ� |
IRObjectOperations | �������� IRObject ��ӳ��� Operations �ӿڡ� |
Object | CORBA �������õĶ��塣 |
OMGVMCID | Ϊ OMG �����Ĺ�Ӧ�̴�Ҫ���� (minor code) ID�� |
Policy | ������ Policy �ӿڵĽӿ����� ORB �� CORBA �������Ӱ���������ijЩѡ� |
PolicyOperations | �ṩ���ijһ Policy ����IJ����� |
PRIVATE_MEMBER | ���� ValueMember ����˽�г�Ա�ij����� |
PUBLIC_MEMBER | ���� ValueMember ���й�����Ա�ij����� |
UNSUPPORTED_POLICY | ��������� Policy �� ORB ��Ϊ����Ч�ģ���Ŀǰ����֧��ʱ��������һ�� PolicyErrorCode�� |
UNSUPPORTED_POLICY_VALUE | ��������� Policy ֵ����Ч���Ͳ����ڸ����͵���Ч��Χ�ڣ�������ЧֵĿǰ����֧��ʱ�������� PolicyErrorCode�� |
VM_ABSTRACT | ����������ʾ typecode �е� Abstract �ӿڵĴ��롣 |
VM_CUSTOM | ����������ʾ���ʹ������Զ������ֵ���͵Ĵ��롣 |
VM_NONE | ������룬������ʾһ�� typecode ��ֵ���͵�ֵ�� |
VM_TRUNCATABLE | ����������ʾ typecode �пɽض�ֵ���͵Ĵ��롣 |
��ժҪ | |
---|---|
_IDLTypeStub | IDLType �� Stub�� |
_PolicyStub | Policy �� Stub�� |
Any | �䵱���� IDL �������κ����ݻ��κ� IDL �������͵������� |
AnyHolder | Any �� Holder�� |
AnySeqHelper | AnySeq �� Helper�� |
AnySeqHolder | AnySeq �� Holder�� |
BooleanHolder | Boolean �� Holder�� |
BooleanSeqHelper | BooleanSeq �� Helper�� |
BooleanSeqHolder | BooleanSeq �� Holder�� |
ByteHolder | Byte �� Holder�� |
CharHolder | Char �� Holder�� |
CharSeqHelper | CharSeq �� Helper�� |
CharSeqHolder | CharSeq �� Holder�� |
CompletionStatus | ָʾijһ�����׳� SystemException ʱ�Ƿ��ѽ������еĶ��� |
CompletionStatusHelper | CompletionStatus �� Helper�� |
Context | ������ Request ������ָ�������Ķ���Ķ����������ַ��������������һ�𱻷���֮ǰ�������ڸ�ָ���������Ķ����н��н����� |
ContextList | һ��������������ʾ�������Ƶ� String ��������ɵĿ����б��� |
CurrentHelper | Current �� Helper�� |
CurrentHolder | Current �� Holder�� |
DefinitionKind | �����ṩ������ʶ�ӿڴ洢�� (Interface Repository) �������͵ij����� |
DefinitionKindHelper | DefinitionKind �� Helper�� |
DoubleHolder | Double �� Holder�� |
DoubleSeqHelper | DoubleSeq �� Helper�� |
DoubleSeqHolder | DoubleSeq �� Holder�� |
DynamicImplementation | �ѹ�ʱ�� org.omg.CORBA.DynamicImplementation |
Environment | ���� Request �������쳣������ (holder)��ʹ�쳣�����ڿͻ��ˡ� |
ExceptionList | Request ������ʹ�õĶ���������������ijһ�����׳����쳣�� |
FieldNameHelper | FieldName �� Helper�� |
FixedHolder | Fixed �� Holder�� |
FloatHolder | Float �� Holder�� |
FloatSeqHelper | FloatSeq �� Helper�� |
FloatSeqHolder | FloatSeq �� Holder�� |
IdentifierHelper | Identifier �� Helper�� |
IDLTypeHelper | IDLType �� Helper�� |
IntHolder | Int �� Holder�� |
LocalObject | ���� Java ����ӳ���еı��� IDL �ӿ�ʵ�ֵĻ����ࡣ |
LongHolder | Long ֵ�� Holder�� |
LongLongSeqHelper | LongLongSeq �� Helper�� |
LongLongSeqHolder | LongLongSeq �� Holder�� |
LongSeqHelper | LongSeqHelper �� Helper�� |
LongSeqHolder | LongSeq �� Holder�� |
NamedValue | �� DII �� DSI ���������������ͷ���ֵ�Ķ��� |
NameValuePair | ��ijһ������һ������Ϊ IDL struct ��ֵ���������� DynStruct API ��ʹ�á� |
NameValuePairHelper | NameValuePair �� Helper�� |
NVList | ���� NamedValue ��������ɵĿ����б��� |
ObjectHelper | |
ObjectHolder | Object �� Holder�� |
OctetSeqHelper | OctetSeq �� Helper�� |
OctetSeqHolder | OctetSeq �� Holder�� |
ORB | Ϊ CORBA ����������� (Object Request Broker) �����ṩ API ���ࡣ |
ParameterMode | Parameter ����ģʽ��ö�١� |
ParameterModeHelper | Parameter ����ģʽ��ö�١� |
ParameterModeHolder | Parameter ����ģʽ��ö�١� |
PolicyErrorCodeHelper | ��װ Policy ��Ч��ԭ�� |
PolicyErrorHelper | �׳� PolicyError ָʾ���ݸ� ORB.create_policy �����IJ���ֵ�������⡣ |
PolicyErrorHolder | �׳� PolicyError ָʾ���ݸ� ORB.create_policy �����IJ���ֵ�������⡣ |
PolicyHelper | Policy �� Helper�� |
PolicyHolder | Policy �� Holder�� |
PolicyListHelper | PolicyList �� Helper�� |
PolicyListHolder | PolicyList �� Holder�� |
PolicyTypeHelper | PolicyType �� Helper�� |
Principal | �ѹ�ʱ�� ���� CORBA 2.2 ȡ���� |
PrincipalHolder | �ѹ�ʱ�� Deprecated by CORBA 2.2. |
RepositoryIdHelper | RepositoryId �� Helper�� |
Request | ��������ijһ�������������Ϣ�Ķ��� |
ServerRequest | ����Զ�̬��ܽӿڣ�Dynamic Skeleton Interface��DSI���������ʽ״̬�Ķ��� |
ServiceDetail | ��ʾ ORB ����Ķ����� service_detail_type �ֶΰ��� ORB ��������ͣ��� service_detail �ֶΰ��� ORB ����������� |
ServiceDetailHelper | |
ServiceInformation | CORBA ģ���е� IDL struct�����ڴ洢���� ORB ʵ���п��� CORBA �������Ϣ����ʹ�� ORB.get_service_information ������ȡ�� |
ServiceInformationHelper | |
ServiceInformationHolder | ServiceInformation �� Holder�� |
SetOverrideType | ��� SET_OVERRIDE �� ADD_OVERRIDE �� CORBA enum ��ӳ�䣬��ָʾ��Щ������Ӧ���滻 Object �����в��Ի���Ӧ�ñ����ӵ����в����С� |
SetOverrideTypeHelper | SetOverrideType �� Helper�� |
ShortHolder | Short �� Holder�� |
ShortSeqHelper | ShortSeqHelper �� Helper�� |
ShortSeqHolder | ShortSeq �� Holder�� |
StringHolder | String �� Holder�� |
StringSeqHelper | String ���� |
StringSeqHolder | String ���� |
StringValueHelper | StringValue �� Helper�� |
StructMember | �����ӿڴ洢�� (Interface Repository) ��һ�� IDL struct ��Ա�������� struct ��Ա�����ơ��� struct ��Ա�������Լ���ʾ�� struct ��Ա��������Ϊ struct ��Ա����IDL ���͵� typedef�� |
StructMemberHelper | StructMember �� Helper�� |
TCKind | IDL enum TCKind �� Java ӳ�䣬TCKind ָ�� TypeCode ��������ࡣ |
TypeCode | �����й��ض� CORBA �������͵���Ϣ�������� |
TypeCodeHolder | TypeCode �� Holder�� |
ULongLongSeqHelper | ULongLongSeq �� Helper�� |
ULongLongSeqHolder | ULongLongSeq �� Holder�� |
ULongSeqHelper | ULongSeq �� Helper�� |
ULongSeqHolder | ULongSeq �� Holder�� |
UnionMember | �ӿڴ洢�� (Interface Repository) �й��� IDL union ��Ա�������� |
UnionMemberHelper | UnionMember �� Helper�� |
UnknownUserExceptionHelper | UnknownUserException �� Helper�� |
UnknownUserExceptionHolder | UnknownUserException �� Holder�� |
UShortSeqHelper | UShortSeq �� Helper�� |
UShortSeqHolder | UShortSeq �� Holder�� |
ValueBaseHelper | |
ValueBaseHolder | ValueBase �� Holder�� |
ValueMember | �ӿڴ洢�� (Interface Repository) �й��� value �����Ա�������� |
ValueMemberHelper | ValueMember �� Helper�� |
VersionSpecHelper | VersionSpec �� Helper�� |
VisibilityHelper | Visibility �� Helper�� |
WCharSeqHelper | WCharSeq �� Helper�� |
WCharSeqHolder | WCharSeq �� Holder�� |
WrongTransactionHelper | WrongTransaction �� Helper�� |
WrongTransactionHolder | WrongTransaction �� Holder�� |
WStringSeqHelper | WString ���� |
WStringSeqHolder | WString ���� |
WStringValueHelper | org/omg/CORBA/WStringValueHelper.java �� "3.0" ��� IDL-to-Java ������������ֲ���� orb.idl �����ɣ�����ʱ��Ϊ 1999 �� 5 �� 31 �� 22:27:30 (GMT+00:00) �ඨ���Ѿ��ģ����������� OMG �淶�� �� CORBA 2.3.1 ����� ORB ���� (formal/99-10-07) ptc/00-01-08 �ж���� IDL/Java ����ӳ�� |
�쳣ժҪ | |
---|---|
ACTIVITY_COMPLETED | ACTIVITY_COMPLETED ϵͳ�쳣�������κη��� Activity �����ĵķ����������� |
ACTIVITY_REQUIRED | ACTIVITY_REQUIRED ϵͳ�쳣�������κ���Ҫ Activity �����ĵķ����������� |
BAD_CONTEXT | ���ͻ��˵���ijһ�����������ݵ��������в������ò��������������ֵʱ���׳����쳣�� |
BAD_INV_ORDER | ���쳣ָʾ�����߰�����˳������˲����� |
BAD_OPERATION | ���������ñ�ʾijһ���ж����ö���֧�ֵ��õIJ���ʱ���׳����쳣�� |
BAD_PARAM | �����ݸ�ijһ���õIJ���������Χ����Ϊ���Ϸ�ʱ���׳����쳣�� |
BAD_QOS | ֻҪ������֧�ֵ��ò�����������֮�����ķ�����������IJ���������ķ����������ͻ����� BAD_QOS �쳣�� |
BAD_TYPECODE | �� ORB ������������ʹ��루���磬������Ч TCKind ֵ�����ʹ��룩ʱ���׳����쳣�� |
Bounds | ����������ijһ������ͼ���ʵĶ���ĺϷ���Χ��ʱ���׳����û��쳣�� |
CODESET_INCOMPATIBLE | ���ͻ��˺ͷ������������뼯֮�䲻�ܽ����������ͨ��ʱ���׳����쳣�� |
COMM_FAILURE | ���ijһ�������ڽ���ʱʧȥͨ�ţ���ʱ�ͻ����Ѿ�������������������Ӧ����δ���ص��ͻ��ˣ����������쳣�� |
DATA_CONVERSION | ��� ORB �����ѱ������ݵı�ʾ��ʽת�����䱾����ʾ��ʽ�����������쳣����֮��Ȼ�� |
FREE_MEM | �� ORB ��ͼ�ͷŶ�̬�ڴ浫ȴ��ΪijЩԭ��������Ϊ�����ڴ�鱻��������ʧ��ʱ���׳����쳣�� |
IMP_LIMIT | ���쳣ָʾ�� OBR ����ʱ������ijһ��ʵ�����ơ� |
INITIALIZE | ORB �����ʼ���ڼ���������������������Դ�������ô���ʱ���׳����쳣�� |
INTERNAL | ���쳣ָʾ ORB �д����ڲ��������磬�� ORB �����ڲ����ݽṹ����ʱ���׳����쳣�� |
INTF_REPOS | �� ORB ������ӿڴ洢�⣬����������ӿڴ洢����صĴ���ʱ���������쳣�� |
INV_FLAG | �ڽ���Ч��־���ݸ�ij�����ʱ�����磬�ڴ��� DII ����ʱ�����׳����쳣�� |
INV_IDENT | ���쳣ָʾ IDL ��ʶ�����������Ч�ġ� |
INV_OBJREF | ���쳣ָʾ�������ô����ڲ����� |
INV_POLICY | ��Ӧ�����ض����õ� Policy ��д֮�䲻���ݶ����������е���ʱ���׳��˱��쳣�� |
INVALID_ACTIVITY | ����ڲ�ͬ���䴦�ڹ���״̬ʱ���ڵ��������лָ������ Activity�����ڸ� Activity �� Transaction ����Ļָ����������� INVALID_ACTIVITY ϵͳ�쳣�� |
INVALID_TRANSACTION | �����������Ч������������ʱ���׳����쳣�� |
MARSHAL | ��ʾ�����д����������Ӧ���ڽṹ����Ч�� |
NO_IMPLEMENT | ���쳣ָʾ�����ܱ����õIJ������ڣ�����һ�� IDL ���壩���������ڸò�����ʵ�֡� |
NO_MEMORY | ��� ORB ����ʱ�����ڴ治�㣬���׳����쳣�� |
NO_PERMISSION | ����Ϊ������û���㹻��Ȩ�����µ���ʧ��ʱ���׳����쳣�� |
NO_RESOURCES | �� ORB ����һЩһ����Դ����ʱ���׳����쳣�� |
NO_RESPONSE | ���ij�ͻ�����ͼ�����ӳ�ͬ�����õĽ�������������Ӧ�в����ã����׳����쳣�� |
OBJ_ADAPTER | ���쳣ͨ��ָʾ��������IJ�ƥ�䣬���磬ij̨������������ͼ��ʵ�ִ洢����ʹ���Ѿ���ʹ�û�洢��δ֪������ע���������� |
OBJECT_NOT_EXIST | ֻҪ����ɾ���Ķ�����ִ�е��ã��ͻ��������쳣�� |
PERSIST_STORE | ���쳣ָʾһ���־ô洢�������磬���������ݿ����ӻ���ij�����ݿ��� |
PolicyError | �������Դ���ʱ�׳����û��쳣�� |
REBIND | �����ǰ��Ч RebindPolicy ���� NO_REBIND �� NO_RECONNECT ֵ���ҶĶ�������ִ�е���ʱ����״̬Ϊ OBJECT_FORWARD �� LocateReply ��Ϣ��״̬Ϊ LOCATION_FORWARD �� Reply ��Ϣ�������� REBIND �� |
SystemException | ���� CORBA ���쳣�ĸ��ࡣ |
TIMEOUT | ���ѳ���ָ������ʱ��ȴû�������κν���ʱ������ TIMEOUT �쳣�� |
TRANSACTION_MODE | ����ͻ��� ORB �� IOR �е� InvocationPolicy ��ѡ�еĵ���·������ֱ�ӻ�·�ɵ��ã���ƥ�䣬�������׳� CORBA TRANSACTION_MODE �쳣�� |
TRANSACTION_REQUIRED | ���쳣ָʾ�������һ�� null ���������ģ�����Ҫ���Ǽ�������� |
TRANSACTION_ROLLEDBACK | ���������������������ѻع����ѱ��Ϊ�ع�ʱ���׳����쳣�� |
TRANSACTION_UNAVAILABLE | �����ڵ�������� (Transaction Service) ���������쳣��ֹ���������������������ʱ���� ORB �׳� CORBA TRANSACTION_UNAVAILABLE �쳣�� |
TRANSIENT | �� ORB ��ͼ����ijһ����ʧ��ʱ���׳����쳣�� |
UNKNOWN | �������ʵ���׳�һ���� CORBA �쳣�������ض��ڸ�ʵ�ֱ�����Ե��쳣��������ijһ��������û�г����ڸò�����������ʽ�е��û��쳣�����������쳣�� |
UnknownUserException | �����ɷ��������ص��û��쳣���ࡣ |
UserException | CORBA IDL ������û��쳣�ĸ��ࡣ |
WrongTransaction | CORBA WrongTransaction �û������쳣�� |
�ṩ OMG CORBA API �� JavaTM ������Ե�ӳ�䣬���� ORB �࣬�����ʵ�ָ��࣬�����Ա����ʹ�ô�����Ϊȫ���ܶ������������Object Request Broker��ORB����
�й� Java[TM] Platform��Standard Edition 6 ���ص���֧�ֹٷ� CORBA �淶���ֵ���ȷ�б�������� Official Specifications for CORBA support in Java[TM] SE 6��
��һ������������ͽӿڿɷ�Ϊ���飺ORB �ࡢ�쳣��Helper ��� Holder �ࡣ
ORB ��������������ͻ�����������ϵķ���ʵ��֮��ķ������á���Ϊ�ͻ��˺ͷ���������λ��������κεط������ú�ʵ�ֿ����Բ�ͬ�ı�����Ա�д������ ORB �ں�̨���˺ܶ����ʵ�ִ�ͨ�š�
ORB �����Ĵֹ��������û���������ȫ���ģ�CORBA ������Ҫ������ ORB �ں�̨ʹ�õ�����ɡ���˴ֳ���Ա��ֱֻ��ʹ�ô˰���һС���֡�ʵ���ϣ����������Ա��ʹ�� ORB ���һЩ�쳣�е�����������ż��Ҳʹ�� holder ���е�����������
��Ӧ�ó������ CORBA ����֮ǰ����������ִ�����²�����
�ṩ���²�������ʼ��Ӧ�ó�����ʵ��Ķ������ã�
��Ӧ�ó�����Ҫ CORBA ����ʱ������Ҫһ����������ȡ ORB �������ã�Ҳ������ OA �������ã������ POA�����˻�����������;����һ����;�ǽ�Ӧ�ó����ʼ��Ϊ ORB �� OA �������ڶ�����;�ǽ� ORB �������ú� OA �������÷��ظ�Ӧ�ó����Ա����Ժ�� ORB �� OA ������ʹ�á�
��Ҫ��ȡ ORB �������ã�Ӧ�ó���Ӧ���� ORB.init �������õ��õIJ��������� ORB �ı�ʶ���� arg_list ��ɣ�ǰ���Ƕ�����������Ҫ�ģ����������������ض��ڻ��������ݴ��ݸ����á�
���� ORB �������Է��� ORB��
ʹ�ò��������� init() ��������ʵ����һ������ ORB����ֻ��Ϊ���� typecode �ṩ any����ͨ�� idlj �� Helper �������ɵĴ�������Ҫ��Щ any��
Ӧ�ó�����Ҫһ������������ʼ�������õĿ���ֲ�������� POA��POA Current��Interface Repository ���� Object Service ʵ������Ҫ���á�Ӧ�ó�������Ĺ��������� Naming Service �ṩ����Щ���ܡ����ǣ�OMG ��Ӧ��Ҫ�� Naming Service ����������Ӧ�ó����Ա��ܹ��Կ���ֲ��ʽ��ʼ������ˣ���һ����չʾ�IJ����ṩ��һ���ı��� Naming Service��Ӧ�ó������ʹ��������ȡ������������һС���Ѷ���������á���Ϊֻ�����Ӵ˻����л��һС�鶨�����õĶ����������������Ŀ��ܱ���Ϊ��һ��������ƿռ䡣���ּĽ����ֻ���������������������Ĺ��ܡ�
��ʼ������ͨ�� ORB ����ӿ����ṩ������������õģ��ýӿ����ṩ��һЩ��ʩ���г���������ʼ�������á���Щ���߰�����
ʹ������һЩ������ʾ���� Java IDL ������
���� Java IDL �쳣 ���ĵ����и�����Ϣ����Щ�ĵ�������ϵͳ�쳣���û������쳣֮��IJ�ͬ��
�����ǰ� org.omg.CORBA �ж����ϵͳ�쳣���б�����Щ�쳣��ͨ�� org.omg.CORBA.SystemException �� java.lang.RuntimeException �м̳е�δ������쳣����
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
���磬�� org.omg.CORBA.TypeCodePackage ���������� TypeCode ���еķ����׳����쳣����Щ�쳣������
��һ�� CORBA ���Ӱ��� portable �����ð��ṩ��һ�� ORB API����Щ API ʹ��ij����Ӧ�̵� IDL �����������ɵĴ����ܹ�����һ����Ӧ�̵� ORB �����С�
֧�� out �� inout ��������ģʽ��Ҫʹ�ø��� holder ������Ϊ Java ������Բ�֧�� out �� inout ������holder �����Ϊһ�ֿ��ĵĴ��ݲ�����ʽ���֡�Ϊ��֧�ֿ���ֲ stub �� skeleton��holder �ʵ���� org.omg.CORBA.portable.Streamable �ӿڡ�
Holder ����ͨ���� "Holder" �ӵ������������������ġ�����������ָ���� Java ��������е����ơ����磬�� Java �����������Ϊ Account �Ľӿ�����Ӧ�� holder ��Ӧ������Ϊ AccountHolder��
Holder ������� org.omg.CORBA ���е����л��� IDL �������͡���ˣ����� LongHolder��ShortHolder��FloatHolder �ȣ����Ѿ���������Ӧ���ࡣ���������������û������ IDL ���ͣ�typedef ����ij��⣩��ͬ��������һЩ�ࡣ��ע�⣬����������£��û��������Ͱ�����Щ�� OMG �淶�ж�������ͣ������� Interface Repository ����Щ���ͣ������� OMG ����
ÿ�� holder �������
���� Java ���Զ�������ͣ�Ĭ�Ϲ��췽���� value �ֶ�����Ϊ����Ĭ��ֵ��
������˵������� OMG IDL ����� Account
�ӿڱ�ӳ�䵽 Java ������ԣ����������� holder �ࣺ
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 (); } }
���� Holder ��ĸ�����Ϣ������� OMG IDL to Java Language Mapping �еĵ� 1.4 �� Mapping for Basic Types��org.omg.CORBA ���ж���� Holder ���У�
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
Helper �ļ��ṩ��һЩ������������ľ�̬��������Щ����������
ValueHelper
�ӿڣ���������û������ value ���ͣ�
����ӳ��� IDL �ӿڻ����ӿڵ� helper �����������������̬�������������� org.omg.CORBA.Object �����ɸ������ij�����͵Ķ������á������Ϊ�ö������ò�֧������������Ͷ���������ʧ�ܣ����׳� IDL �쳣 CORBA.BAD_PARAM��������ͬ��ϵͳ�쳣��ָʾ������������Ĵ��������� null �����ǿ��Գɹ��������� null ֵ��ͨ����Ӧ�ó�������ԱΨһʹ�õ� helper ������ narrow
��������������ͨ���ں�̨ʹ�ã����Ƕ��ڳ���Ա�����ġ�
Helper ���Ϊ�����࣬������ value ���͵� helper �����ڷ� value ���͵� helper����Ϊһ������е����� helper ���ṩ�Ķ�����ͬ�ķ�������������ֻ�ṩÿ�� helper ���һ���Խ��͡�
�ڽ� OMG IDL ӳ�䵽 Java �������ʱ��Ϊÿ���û��������������һ�� "helper" �ࡣ���ɵ�����ཫ�����û��������͵������Լ��ӵ� Helper
�������磬����ӿ� Account
���� OMG IDL ����ģ��� idlj
���������Զ�����һ����Ϊ AccountHelper
���ࡣAccountHelper
�ཫ������������ʵ������ľ�̬�����������ʵ��ָ Account
����
narrow
����org.omg.CORBA.Object
������� java.lang.Object
�����ڿ��ԶԴ˶���ִ�в���֮ǰ�����뽫�ö���ǿ��ת��Ϊ�����������͡����磬Account
������Ϊһ����أ����ұ�������Ϊ Account
�����Ա���ԶԸö������ Account
������
narrow
������������ʽ��һ����ʽ����һ�� org.omg.CORBA.Object
������һ����ʽ����һ�� java.lang.Object
�����ݸýӿ��Ƿ��dz������ȷ���� helper �ཫ�ṩ��һ�� narrow
���������ڷdz���ӿڵ� helper �ཫ��һ���� CORBA ����� narrow
�����������ڳ���ӿڵ� narrow
���������� Java ��������е�һ��������������һ����������ӿڵķdz���ӿڣ�helper �ཫͬʱ�ṩ������ʽ�� narrow
������
Hello World �̳�ʹ�õ� 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
�������� value ���͵����ͽ���һ��Ϊ�������ɵĻ��� helper �ࡣ
���磬����ӿ� Account
����һ�� value ���͵� 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
�� value ���ͣ��� 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 ������ Helper ����
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
�����Ϊʲô org.omg.CORBA ���еļ����ӿڰ���һ�� value �ֶε�ԭ���ֶ���һ�� short ֵ�����ֶ���һ�����ڴ�������ֵ���η�֮��ij��������磬BAD_POLICY �ӿڵ� value �ֶο������׳� PolicyError �쳣��ԭ��֮һ��Ҫָ���˴�����룬Ӧʹ�� BAD_POLICY.value��
PolicyError �쳣ʹ�����½ӿڵ� value �ֶ���Ϊ����ܵĴ�����롣
ValueMember
����ķ��ʷ������أ�����ָʾ ValueMember
����Ŀɼ��ԡ�
ORB ����Ҫ�ӿڴ洢�⣬Java IDL Ҳ�������ӿڴ洢�⡣���ܴ˰汾�������ӿڴ洢���ʵ�֣������������� IR ��ͽӿڣ��Դ��� typecodes���μ� org.omg.CORBA.ORB �ӿ��е� create_value_tc��create_struct_tc��create_union_tc �� create_exception_tc ��������
&nbs
org.omg �Ӱ��а�����һЩ API ��Ϊ���뵱ǰ OMG CORBA �淶����һ�¶��ṩ�ģ��� Sun �� JDKTM �汾��û��ʵ�����ǡ���ʹ������ JDK �������˿����ڱ���չ�Ͳ�Ʒ���ṩ�� API ��ʵ�֡�
org.omg �Ӱ��а�����һЩ API ����Ϊ����ԭ���׳� NO_IMPLEMENT �쳣������һЩԭ���ǣ�
|
JavaTM Platform Standard Ed. 6 |
|||||||||
��һ�������� ��һ�������� | ��� ��� ������ |
��Ȩ���� 2007 Sun Microsystems, Inc. ��������Ȩ���� ����������֤��������������ĵ����·ַ�������