|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 패키지 다음의 패키지 | 프레임 있어 프레임 없음 |
참조처:
설명
인터페이스의 개요 | |
---|---|
ARG_IN | 호출에 대한 입력 인수를 나타냅니다. |
ARG_INOUT | 호출로 입력과 출력의 양쪽 모두에 사용되는 인수를 나타냅니다. |
ARG_OUT | 호출에 대한 출력 인수를 나타내는 정수입니다. |
BAD_POLICY | PolicyError 예외로 기입해지는 PolicyErrorCode 입니다. |
BAD_POLICY_TYPE | PolicyError 예외로 기입해지는 PolicyErrorCode 입니다. |
BAD_POLICY_VALUE | ORB 클래스에서 정의되는 create_policy 메소드에의 호출로, 유효한 정책형에 대해서 부정확한 정책치를 나타내기 위해서(때문에) 사용되는 값을 포함합니다. |
CTX_RESTRICT_SCOPE | Context.get_values 메소드에의 2 번째의 파라미터로서 사용할 수 있는 플래그로, 검색 범위를 제한합니다. |
Current | Current 인터페이스로부터 파생한 인터페이스입니다. |
CurrentOperations | Current 의 인터페이스입니다. |
CustomMarshal | 사용자는 아니고 ORB 에 의해 사용되는 것을 나타내는 추상치형입니다. |
DataInputStream | 비정렬화 커스텀치형의 입력 스트림로부터 프리미티브(primitive) 데이터형을 읽어들이는데 사용되는 메소드를 정의합니다. |
DataOutputStream | 정렬화 커스텀치형의 출력 스트림에 프리미티브(primitive) 데이터형을 기입하는데 사용되는 메소드를 정의합니다. |
DomainManager | 상위 도메인과 하위 도메인간의 관계 확립과 안내, 및 정책의 작성과 액세스용의 기구를 제공합니다. |
DomainManagerOperations | DomainManager 에 대해, 정책에 액세스 하는 수단을 제공합니다. |
DynAny | 추천 되고 있지 않습니다. 대신에 새로운 DynAny 를 사용해 주세요. |
DynArray | 추천 되고 있지 않습니다. 대신에 새로운 DynArray 를 사용해 주세요. |
DynEnum | 추천 되고 있지 않습니다. 대신에 새로운 DynEnum 를 사용해 주세요. |
DynFixed | 추천 되고 있지 않습니다. 대신에 새로운 DynFixed 를 사용해 주세요. |
DynSequence | 추천 되고 있지 않습니다. 대신에 새로운 DynSequence 를 사용해 주세요. |
DynStruct | 추천 되고 있지 않습니다. 대신에 새로운 DynStruct 를 사용해 주세요. |
DynUnion | 추천 되고 있지 않습니다. 대신에 새로운 DynUnion 를 사용해 주세요. |
DynValue | 추천 되고 있지 않습니다. 대신에 새로운 DynValue 를 사용해 주세요. |
IDLType | OMG 의 IDL 의 타입을 나타내는 모든 인터페이스 리포지터리(repository) (IR) 객체가 상속하는 abstract 인터페이스입니다. |
IDLTypeOperations | 이 인터페이스는, IDLType 객체에 의해 구현될 필요가 있습니다. |
IRObject | IRObject IDL 인터페이스는, 다른 모든 인터페이스 리포지터리(repository) 인터페이스의 파생원이다, 가장 포괄적인 인터페이스를 나타냅니다. |
IRObjectOperations | IRObject 로부터의 매핑에 사용하는 오퍼레이션 인터페이스입니다. |
Object | CORBA 객체 참조의 정의입니다. |
OMGVMCID | OMG 를 위해서(때문에) 예약된 벤더 마이너 코드 ID 입니다. |
Policy | Policy 인터페이스로부터 파생한 인터페이스입니다. |
PolicyOperations | Policy 객체의 오퍼레이션을 제공합니다. |
PRIVATE_MEMBER | ValueMember 클래스의 private 멤버를 정의하는 정수입니다. |
PUBLIC_MEMBER | ValueMember 클래스의 public 멤버를 정의하는 정수입니다. |
UNSUPPORTED_POLICY | 요구된 Policy 가 ORB 에 의해 유효라고 인식되지만, 현재 지원되어 있지 않은 경우에 기입해지는 PolicyErrorCode 의 1 개입니다. |
UNSUPPORTED_POLICY_VALUE | Policy 에 요구된 값이 유효한 형태로 그 형태의 유효 범위내에 있지만, 현재 이 유효한 값이 지원되어 있지 않은 경우에 기입해지는 PolicyErrorCode 입니다. |
VM_ABSTRACT | 형태 코드의 추상 인터페이스를 나타내는데 사용되는 코드를 정의합니다. |
VM_CUSTOM | 형태 코드의 커스텀 정렬화치형을 나타내는데 사용되는 코드를 정의합니다. |
VM_NONE | 형태 코드의 치 형의 값의 1 개를 나타내는데 사용되는 코드를 정의합니다. |
VM_TRUNCATABLE | 형태 코드의 잘라서 버림 가능한 치 형을 나타내는데 사용되는 코드를 정의합니다. |
클래스의 개요 | |
---|---|
_IDLTypeStub | IDLType 의 Stub입니다. |
_PolicyStub | Policy 의 Stub입니다. |
Any | IDL 로 기술할 수 있는 모든 데이터의 컨테이너, 또는 IDL 의 원시형의 컨테이너로서 기능합니다. |
AnyHolder | Any 의 홀더입니다. |
AnySeqHelper | AnySeq 의 헬퍼입니다. |
AnySeqHolder | AnySeq 의 홀더입니다. |
BooleanHolder | Boolean 의 홀더입니다. |
BooleanSeqHelper | BooleanSeq 의 헬퍼입니다. |
BooleanSeqHolder | BooleanSeq 의 홀더입니다. |
ByteHolder | Byte 의 홀더입니다. |
CharHolder | Char 의 홀더입니다. |
CharSeqHelper | CharSeq 의 헬퍼입니다. |
CharSeqHolder | CharSeq 의 홀더입니다. |
CompletionStatus | SystemException 가 throw 되었을 때에 메소드가 동작을 완료하고 있었는지의 여부를 나타내는 객체입니다. |
CompletionStatusHelper | CompletionStatus 의 헬퍼입니다. |
Context | Request 오퍼레이션으로, 이 호출과 함께 송출되기 전에 문맥 캐릭터 라인을 해결할 필요가 있는 문맥 객체의 지정으로 사용되는 객체입니다. |
ContextList | 프로퍼티명을 나타내는 String 객체의 수정 가능한 리스트를 포함하는 객체입니다. |
CurrentHelper | Current 의 헬퍼입니다. |
CurrentHolder | Current 의 홀더입니다. |
DefinitionKind | 인터페이스 리포지터리(repository) 객체의 형태를 지정할 경우에 사용하는 정수를 제공하는 클래스입니다. |
DefinitionKindHelper | DefinitionKind 의 헬퍼입니다. |
DoubleHolder | Double 의 홀더입니다. |
DoubleSeqHelper | DoubleSeq 의 헬퍼입니다. |
DoubleSeqHolder | DoubleSeq 의 홀더입니다. |
DynamicImplementation | 추천 되고 있지 않습니다. org.omg.CORBA.DynamicImplementation |
Environment | 클라이언트로 예외를 사용할 수 있도록(듯이) 하기 위해서 Request 조작으로 사용되는 예외의 컨테이너 (홀더)입니다. |
ExceptionList | 메소드에 의해 throw 할 수가 있는 예외를 기술하기 위해서,Request 조작으로 사용되는 객체입니다. |
FieldNameHelper | FieldName 의 헬퍼입니다. |
FixedHolder | Fixed 의 홀더입니다. |
FloatHolder | Float 의 홀더입니다. |
FloatSeqHelper | FloatSeq 의 헬퍼입니다. |
FloatSeqHolder | FloatSeq 의 홀더입니다. |
IdentifierHelper | Identifier 의 헬퍼입니다. |
IDLTypeHelper | IDLType 의 헬퍼입니다. |
IntHolder | Int 의 홀더입니다. |
LocalObject | Java 언어 매핑으로, 로컬 IDL 인터페이스의 구현 base class로서 사용됩니다. |
LongHolder | Long 의 홀더입니다. |
LongLongSeqHelper | LongLongSeq 의 헬퍼입니다. |
LongLongSeqHolder | LongLongSeq 의 홀더입니다. |
LongSeqHelper | LongSeqHelper 의 헬퍼입니다. |
LongSeqHolder | LongSeq 의 홀더입니다. |
NamedValue | DII 와 DSI 로 사용되는 객체로, 인수와 반환값을 기술합니다. |
NameValuePair | 이름과 IDL 구조체의 속성인 값을 관련짓습니다. |
NameValuePairHelper | NameValuePair 의 헬퍼입니다. |
NVList | NamedValue 객체가 포함된 변경 가능 리스트입니다. |
ObjectHelper | |
ObjectHolder | Object 의 홀더입니다. |
OctetSeqHelper | OctetSeq 의 헬퍼입니다. |
OctetSeqHolder | OctetSeq 의 홀더입니다. |
ORB | CORBA Object Request Broker 기능을 위한 API 를 제공하는 클래스입니다. |
ParameterMode | Parameter 의 파라미터 모드의 열거입니다. |
ParameterModeHelper | Parameter 의 파라미터 모드의 열거입니다. |
ParameterModeHolder | Parameter 의 파라미터 모드의 열거입니다. |
PolicyErrorCodeHelper | 정책가 무효가 될 가능성이 있는 이유를 캡슐화합니다. |
PolicyErrorHelper | ORB.create_policy 오퍼레이션에게 건네진 파라미터치의 문제를 나타내기 위해서(때문에) throw 됩니다. |
PolicyErrorHolder | ORB.create_policy 오퍼레이션에게 건네진 파라미터치의 문제를 나타내기 위해서(때문에) throw 됩니다. |
PolicyHelper | Policy 의 헬퍼입니다. |
PolicyHolder | Policy 의 홀더입니다. |
PolicyListHelper | PolicyList 의 헬퍼입니다. |
PolicyListHolder | PolicyList 의 홀더입니다. |
PolicyTypeHelper | PolicyType 의 헬퍼입니다. |
Principal | 추천 되고 있지 않습니다. CORBA 2.2 에서는 추천 되지 않습니다. |
PrincipalHolder | 추천 되고 있지 않습니다. CORBA 2.2 에서는 추천 되지 않습니다. |
RepositoryIdHelper | RepositoryId 의 헬퍼입니다. |
Request | 메소드를 호출하기 위해서(때문에) 필요한 정보를 포함한 객체입니다. |
ServerRequest | Dynamic Skeleton Interface (DSI)의 명시적인 상태를 수중에 넣는 객체입니다. |
ServiceDetail | ORB 서비스를 나타내는 객체입니다. |
ServiceDetailHelper | |
ServiceInformation | CORBA 모듈내의 IDL 구조체입니다. |
ServiceInformationHelper | |
ServiceInformationHolder | ServiceInformation 의 홀더입니다. |
SetOverrideType | SET_OVERRIDE 과 ADD_OVERRIDE 를 태그 붙이고 하는 CORBA enum 의 매핑입니다. |
SetOverrideTypeHelper | SetOverrideType 의 헬퍼입니다. |
ShortHolder | Short 의 홀더입니다. |
ShortSeqHelper | ShortSeqHelper 의 헬퍼입니다. |
ShortSeqHolder | ShortSeq 의 홀더입니다. |
StringHolder | String 의 홀더입니다. |
StringSeqHelper | String 의 배열입니다. |
StringSeqHolder | String 의 배열입니다. |
StringValueHelper | StringValue 의 헬퍼입니다. |
StructMember | 인터페이스 리포지터리(repository)의 IDL struct 멤버를 기술합니다. |
StructMemberHelper | StructMember 의 헬퍼입니다. |
TCKind | TypeCode 객체의 종류를 지정하는, IDL 의 열거형 TCKind 의 Java 매핑입니다. |
TypeCode | 특정의 CORBA 데이터형에 대한 정보를 포함하는 컨테이너입니다. |
TypeCodeHolder | TypeCode 의 홀더입니다. |
ULongLongSeqHelper | ULongLongSeq 의 헬퍼입니다. |
ULongLongSeqHolder | ULongLongSeq 의 홀더입니다. |
ULongSeqHelper | ULongSeq 의 헬퍼입니다. |
ULongSeqHolder | ULongSeq 의 홀더입니다. |
UnionMember | IDL 공용체의 멤버의 인터페이스 리포지터리(repository)내의 설명입니다. |
UnionMemberHelper | UnionMember 의 헬퍼입니다. |
UnknownUserExceptionHelper | UnknownUserException 의 헬퍼입니다. |
UnknownUserExceptionHolder | UnknownUserException 의 홀더입니다. |
UShortSeqHelper | UShortSeq 의 헬퍼입니다. |
UShortSeqHolder | UShortSeq 의 홀더입니다. |
ValueBaseHelper | |
ValueBaseHolder | ValueBase 의 홀더입니다. |
ValueMember | value 객체의 멤버의 인터페이스 리포지터리(repository)내의 설명입니다. |
ValueMemberHelper | ValueMember 의 헬퍼입니다. |
VersionSpecHelper | VersionSpec 의 헬퍼입니다. |
VisibilityHelper | Visibility 의 헬퍼입니다. |
WCharSeqHelper | WCharSeq 의 헬퍼입니다. |
WCharSeqHolder | WCharSeq 의 홀더입니다. |
WrongTransactionHelper | WrongTransaction 의 헬퍼입니다. |
WrongTransactionHolder | WrongTransaction 의 홀더입니다. |
WStringSeqHelper | WString 의 배열입니다. |
WStringSeqHolder | WString 의 배열입니다. |
WStringValueHelper | IDL-to-Java 컴파일러 (휴대용) 버젼 "3.0" 에 의해 orb.idl 로부터 생성된 org/omg/CORBA/WStringValueHelper.java. |
예외의 개요 | |
---|---|
ACTIVITY_COMPLETED | ACTIVITY_COMPLETED 시스템 예외는 Activity 문맥에 액세스 하는 메소드로 발생하는 경우가 있습니다. |
ACTIVITY_REQUIRED | ACTIVITY_REQUIRED 시스템 예외는 Activity 문맥을 필요로 하는 메소드로 발생하는 경우가 있습니다. |
BAD_CONTEXT | 클라이언트가 오퍼레이션을 호출했지만, 오퍼레이션에 필요한 문맥치가 콘테키트에 포함되지 않은 경우, 예외가 throw 됩니다. |
BAD_INV_ORDER | 이 예외는, 호출측이 잘못한 순서로 오퍼레이션을 호출한 것을 나타냅니다. |
BAD_OPERATION | 객체 참조가 기존의 객체를 가리키지만, 그 객체가 불려 간 오퍼레이션을 지원하지 않는 경우에 throw 되는 예외입니다. |
BAD_PARAM | 호출 측에 건네받은 파라미터가 범위외, 혹은 부정이라고 보여지는 경우에 throw 되는 예외입니다. |
BAD_QOS | 객체가, 관련한 서비스 시멘틱스의 QoS 를 가지는 호출 파라미터로 필요한 QoS 를 지원할 수 없는 경우,BAD_QOS 예외가 발생합니다. |
BAD_TYPECODE | ORB 가 무효인 형태 코드 (예를 들어, 무효인 TCKind 치의 형태 코드)를 검출했을 때에 throw 되는 예외입니다. |
Bounds | 메소드가 액세스 하려고 하고 있는 객체에 대해서, 파라미터가 유효한 범위내에 없는 경우에 throw 되는 사용자 예외입니다. |
CODESET_INCOMPATIBLE | 이 예외는, 클라이언트의 native code 세트와 서버의 native code 세트와의 사이에 유효한 통신을 할 수 없는 경우에 발생합니다. |
COMM_FAILURE | 이 예외는, 클라이언트로부터 요구가 송신된 다음에, 서버로부터의 응답이 클라이언트에 돌아가기 전, 처리의 실행중에 통신이 없어졌을 경우에 throw 됩니다. |
DATA_CONVERSION | 이 예외는, ORB 가, 정렬화 된 데이터 표현과 네이티브 표현과의 사이의 변환을 할 수 없는 경우에 throw 됩니다. |
FREE_MEM | heap의 파괴나 메모리 세그먼트(segment)의 락등이 원인으로, ORB 가 동적 메모리의 해제에 실패했을 경우에 throw 되는 예외입니다. |
IMP_LIMIT | 이 예외는, ORB 실행시에 구현 한계를 넘은 것을 나타냅니다. |
INITIALIZE | ORB 가 초기화시에 에러를 검출했을 (네트워크 자원의 취득시에 장해가 발생한, 구성 에러를 검출했다는 등) 경우에 throw 되는 예외입니다. |
INTERNAL | 이 예외는, ORB 의 내부 에러를 나타냅니다. |
INTF_REPOS | ORB 가 인터페이스 리포지터리(repository)에 도달할 수 없는 경우, 또는 인터페이스 리포지터리(repository)에 관계하는 그 외의 에러를 검출했을 경우에 throw 되는 예외입니다. |
INV_FLAG | 무효인 플래그가 오퍼레이션에게 건네졌을 경우 (DII 요구의 작성시등)에 throw 되는 예외입니다. |
INV_IDENT | 이 예외는, IDL 식별자가 구문적으로 무효라는 점을 나타냅니다. |
INV_OBJREF | 이 예외는, 객체 참조가 내부적으로 부정한 것을 나타냅니다. |
INV_POLICY | 특정의 호출에 적용되는 Policy 오버라이드(override)간의 호환성이 없기 때문에, 호출할 수 없는 경우에 throw 되는 표준 예외입니다. |
INVALID_ACTIVITY | 트랜잭션(transaction) 또는 Activity 가 중단된 문맥과는 다른 문맥으로 재개되는 경우, Activity 또는 Transaction 서비스의 재개 메소드로 INVALID_ACTIVITY 시스템 예외가 발생하는 일이 있습니다. |
INVALID_TRANSACTION | 요구에 의해 무효인 트랜잭션(transaction) 문맥이 송신되었을 경우에 throw 되는 예외입니다. |
MARSHAL | 네트워크로부터의 요구 또는 응답이 구조적으로 무효입니다. |
NO_IMPLEMENT | 이 예외는, 불려 간 오퍼레이션은 존재하지만 (IDL 정의 있어) 그 오퍼레이션이 구현되어 있지 않은 것을 나타냅니다. |
NO_MEMORY | ORB 런타임이 메모리 부족하게 되었을 경우에 throw 되는 예외입니다. |
NO_PERMISSION | 호출 바탕으로 충분한 특권이 없기 때문에, 호출이 실패했을 경우에 throw 되는 예외입니다. |
NO_RESOURCES | ORB 가 일반적인 자원 한계를 검출했을 경우에 throw 되는 예외입니다. |
NO_RESPONSE | 이 예외는, 클라이언트가 지연 동기 호출의 결과를 취득하려고 했지만, 요구의 응답이 아직 사용할 수 없는 경우에 throw 됩니다. |
OBJ_ADAPTER | 이 예외는 일반적으로, 관리상의 불일치를 나타냅니다. |
OBJECT_NOT_EXIST | 삭제된 객체의 호출이 실행될 때마다 throw 되는 예외입니다. |
PERSIST_STORE | 이 예외는, 데이타베이스 접속의 확립 실패나 데이타베이스의 파괴적 , 지속적인 기억 영역의 장해를 나타냅니다. |
PolicyError | 정책 에러가 발생했을 경우에 throw 되는 사용자 예외입니다. |
REBIND | 현재 유효한 RebindPolicy 가 NO_REBIND 또는 NO_RECONNECT 의 값과 바인드 된 객체 참조의 호출을 가지는 것에 의해, LocateReply 메세지 상태가 OBJECT_FORWARD 에, 또는 Reply 메세지 상태가 LOCATION_FORWARD가 되어,REBIND 가 발생합니다. |
SystemException | 모든 CORBA 표준 예외의 루트 클래스입니다. |
TIMEOUT | TIMEOUT 는, 전달되지 않고 로 지정된 유효기간을 초과했을 경우에 발생합니다. |
TRANSACTION_MODE | CORBA TRANSACTION_MODE 예외는, IOR 의 InvocationPolicy 와 선택한 호출 패스 (직접 호출해 또는 회송된 호출)의 사이에 불일치가 있는 경우에, 클라이언트 ORB 에 의해 throw 됩니다. |
TRANSACTION_REQUIRED | 요구로 null 트랜잭션(transaction) 문맥이 보내졌지만, 액티브한 트랜잭션(transaction)가 필요한 일을 나타내는 예외입니다. |
TRANSACTION_ROLLEDBACK | 요구에 관련지을 수 있고 있는 트랜잭션(transaction)가 롤백(rollback) 된, 또는 롤백(rollback) 하도록(듯이) 마크 되었을 경우에 throw 되는 예외입니다. |
TRANSACTION_UNAVAILABLE | Transaction Service 에의 접속이 이상종료(ABEND) 해 트랜잭션(transaction) 서비스 문맥을 처리할 수 없는 경우, CORBA TRANSACTION_UNAVAILABLE 예외가 ORB 에 의해 throw 됩니다. |
TRANSIENT | ORB 가 객체에 도달하려고 해 실패했을 경우에 throw 되는 예외입니다. |
UNKNOWN | 오퍼레이션 구현이 CORBA 이외의 예외 (구현의 프로그램 언어에 고유의 예외등)를 throw 하는지, 오퍼레이션의 발생식으로 지정되어 있지 않은 사용자 예외를 오퍼레이션이 throw 하는 경우에, 발생하는 예외입니다. |
UnknownUserException | 서버로부터 반환된 사용자 예외를 포함하는 클래스입니다. |
UserException | CORBA IDL 정의의 사용자 예외의 루트 클래스입니다. |
WrongTransaction | CORBA 의 WrongTransaction 사용자 정의 예외입니다. |
OMG CORBA API 의 JavaTM 프로그램 언어 (ORB 클래스를 포함한다)에의 매핑을 제공합니다. ORB 클래스는, 프로그래머가 풀 기능의 Object Request Broker (ORB)로서 사용할 수 있도록(듯이) 구현되고 있습니다.
Java(TM) Platform, Standard Edition 6 이 준거하는 공식의 CORBA 스펙의 지원 섹션의 정확한 리스트는,「Java(TM) SE 6 에서의 정식적 CORBA 지원 스펙」 을 참조해 주세요.
이 섹션으로 설명하는 클래스와 인터페이스는,ORB 클래스, 예외,Helper 클래스, 및 Holder 클래스의 4 개에 그룹화 할 수 있습니다.
ORB 는, 클라이언트와 서버상의 메소드의 구현간에서의, 메소드 호출을 처리 (중개)합니다. 클라이언트와 서버는 네트워크상의 어디에 있어도 자주(잘), 호출과 구현은 다른 프로그램 언어로 기술되고 있을 가능성이 있기 (위해)때문에, ORB 는 이 통신을 실현하기 위해서(때문에) 내부에서 다양한 처리를 실시합니다.
ORB 의 기능의 대부분은 사용자에 대해서 완전하게 투명하고,CORBA 패키지의 주요 부분은, ORB 에 의해 내부에서 사용되는 클래스로 구성되어 있습니다. 그 때문에, 대부분의 프로그래머는, 이 패키지의 일부분 밖에 직접은 사용하지 않습니다. 실제로는,ORB 클래스, 일부의 예외, 및 경우에 의해 홀더 클래스의 일부의 메소드만을 사용합니다.
어플리케이션을 CORBA 환경에서 사용하려면 , 최초로 다음을 실행할 필요가 있습니다.
어플리케이션을 초기화해 적절한 객체 참조를 취득하기 위해서, 다음의 오퍼레이션이 준비되어 있습니다.
어플리케이션이 CORBA 환경을 필요로 하는 경우, ORB 객체 참조 및 루트 POA 등의 OA 객체 참조 (가능한 경우)를 취득하는 기구가 필요합니다. 이것에는, 어플리케이션을 ORB 와 OA 환경에 초기화하는, 및 ORB 객체 참조와 OA 객체 참조를 어플리케이션에 돌려주어, 이후의 ORB 및 OA 조작으로 사용한다, 라고 하는 2 개의 목적이 있습니다.
ORB 객체 참조를 가져오려면 , 어플리케이션으로 ORB.init 조작을 호출합니다. 호출 파라미터는, 객체 참조를 필요로 하는 ORB 의 식별자, 및 환경 고유의 데이터를 호출해 먼저 건네주기 위해서(때문에) 사용하는 arg_list 로 구성할 수 있습니다.
다음에 나타내는 것은, ORB 에의 액세스를 제공하는 ORB 메소드입니다.
파라미터없이 init() 메소드를 사용하면(자), 단체 ORB 가 기동합니다. 단체 ORB 는,idlj 가 Helper 클래스내에서 생성하는 코드에 필요한 any 를, 형태 코드 작성에 제공합니다.
어플리케이션에는, 그 초기의 객체 참조를 취득하기 위한 이식성 있는 수단이 필요합니다. 루트 POA, POA Current, 인터페이스 리포지터리(repository), 및 각종의 객체 서비스 인스턴스의 참조가 필요합니다. 어플리케이션이 필요로 하는 기능은, 네임 서비스가 제공되는 기능과 같습니다. 다만, 어플리케이션을 이식성의 높은 방법으로 초기화하기 위해서, 모든 어플리케이션으로 네임 서비스를 사용 가능하게 하도록 지시하는 것을, OMG 는 바라고 있지 않습니다. 따라서, 이 섹션으로 설명하는 조작은, 네임 서비스의 단순한 로컬 버젼이며, 어플리케이션은 이것을 사용해, 조작에 불가결한 소규모의 정의가 끝난 객체 참조 세트를 취득할 수 있습니다. 이 기구에서는 명확하게 정의된 소규모의 객체 세트만을 대상으로 생각하고 있기 (위해)때문에, 네이밍 문맥은 단일 레벨의 이름 공간에 평판화할 수 있습니다. 이 단순화에 의해, 2 개의 조작을 정의하는 것만으로 필요한 기능을 실현할 수 있습니다.
초기 참조는, ORB 객체 인터페이스로 제공되는 2 개의 조작에 의해 취득되어 초기 객체 참조의 리스트 및 해결 기능을 제공합니다. 다음에 초기 참조를 나타냅니다.
이러한 메소드의 사용예는,「Java IDL 입문」을 참조해 주세요.
자세한 것은,「Java IDL 예외」 를 참조해 주세요. 시스템 예외와 사용자 정의 예외의 차이를 설명하고 있습니다.
다음에, 시스템 예외의 리스트를 나타냅니다. 이것들은,org.omg.CORBA 패키지로 정의되고 있는 java.lang.RuntimeException 로부터 org.omg.CORBA.SystemException 를 개입시켜 상속하는, 체크되어 있지 않은 예외입니다.
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 클래스의 메소드에 의해 throw 되는 예외가 2 개 있습니다. 그러한 예외는 다음과 같습니다.
CORBA 의 서브 패키지인 다른 패키지는,「portable」 패키지입니다. 이것은, 어느 벤더의 IDL 컴파일러로 생성된 코드를 다른 벤더의 ORB 로 실행 가능하게 하는 ORB API 세트를 제공합니다.
out 및 inout 파라미터의 인도 모드를 지원하려면 , 추가의홀더 클래스가 필요합니다. Java 프로그램 언어는 out 또는 inout 파라미터를 지원하지 않기 때문에, 변경 가능한 파라미터를 건네주는 수단으로서 홀더 클래스가 필요하게 됩니다. 휴대용 Stub 및 스켈리턴을 지원하기 위해(때문에), 홀더 클래스는 org.omg.CORBA.portable.Streamable 인터페이스도 구현합니다.
홀더 클래스의 이름은, 형태의 이름에 「Holder」가 추가되어 붙일 수 있고 있습니다. 형태의 이름에 의해, Java 프로그램 언어에서의 이름이 참조됩니다. 예를 들어, Java 프로그램 언어로 Account 라는 이름의 인터페이스의 홀더 클래스는,AccountHolder 라는 이름이 됩니다.
홀더 클래스는 org.omg.CORBA 패키지내의 모든 기본 IDL 데이터형에 사용할 수 있습니다. 예를 들어,LongHolder,ShortHolder,FloatHolder 등에는, 정의 끝난 클래스가 존재합니다. typedefs 로 정의된 것을 제외하는 모든 이름 첨부 사용자 정의 IDL 형에 대해서도 클래스가 생성됩니다. 이 경우, 사용자 정의에는, 인터페이스 리포지터리(repository)용등의 OMG 스펙, 및 그 외의 OMG 서비스로 정의되는 형태가 포함됩니다.
각 홀더 클래스에는, 이하가 포함됩니다.
디폴트의 생성자 은, 값필드를 Java 언어로 정의된 형태의 디폴트 값로 설정합니다.
false
예를 들어, OMG IDL 로 정의된 인터페이스 Account
가 Java 프로그램 언어에 매핑 되고 있는 경우는, 다음의 홀더 클래스가 생성됩니다.
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 로부터 Java 언어에의 매핑」의 제 1.4 장 「기본형의 매핑」을 참조해 주세요. 다음에,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
헬퍼 파일은, 형태의 조작에 필요한 복수의 static 메소드를 제공합니다. 예를 들어, 이하와 같은 경우가 있습니다.
ValueHelper
인터페이스의 구현 (사용자 정의치형의 경우)
맵 된 IDL 인터페이스 또는 추상 인터페이스의 헬퍼 클래스에는 네로우 조작도 포함됩니다. static 네로우 메소드에 의해,org.omg.CORBA.Object 가 한층 더 특정의 형태의 객체 참조에 네로우 변환됩니다. 객체 참조가 요구된 형태를 지원하지 않기 위해(때문에) 네로우 변환에 실패했을 경우는, IDL 예외 CORBA.BAD_PARAM 이 throw 됩니다. 그 외의 종류의 에러를 나타내는 경우는, 다른 시스템 예외가 throw 됩니다. null 의 네로우 변환은 항상 성공해,null 치가 돌려주어집니다. 일반적으로, 어플리케이션 프로그래머가 사용하는 헬퍼 메소드는 narrow
메소드만입니다. 그 외의 메소드는, 일반적으로은 내부에서 사용되어 프로그래머는 의식할 필요가 없습니다.
헬퍼 클래스는,치 형의 헬퍼와치 형 이외의 헬퍼의 2 개에 크게 분류됩니다. 1 개의 카테고리의 헬퍼 클래스 모든 것이 같은 메소드를 제공하기 위해(때문에), 여기에서는 헬퍼 클래스의 각 카테고리의 범용적인 설명을 실시합니다.
OMG IDL 가 Java 프로그램 언어에 매핑 되면(자), 각 사용자 정의형에 대해서 「헬퍼」클래스가 생성됩니다. 이 생성된 클래스에는, 접미사(suffix) Helper
가 추가되어 사용자 정의형의 이름을 붙일 수 있습니다. 예를 들어, OMG IDL 로 인터페이스 Account
가 정의되면(자),idlj
컴파일러에 의해 AccountHelper
라는 이름의 클래스가 자동적으로 생성됩니다. AccountHelper
클래스에는, 형태의 인스턴스 (이 경우는 Account
객체)의 조작에 필요한 static 메소드가 포함됩니다.
narrow
메소드org.omg.CORBA.Object
객체 또는 java.lang.Object
객체의 어느 쪽인가의 형식에서 돌려주어집니다. 이 객체는, 조작되기 전에 특정의 형태에 캐스트 될 필요가 있습니다. 예를 들어,Account
객체는 총칭 객체로서 돌려주어져Account
메소드가 불려 가도록(듯이),Account
객체에 네로우 변환될 필요가 있습니다.
narrow
메소드에는 2 개의 형식이 있습니다. 1 개(살)은 org.omg.CORBA.Object
객체를 사용해, 이제(벌써) 1 개(살)은 java.lang.Object
객체를 사용합니다. 인터페이스가 abstract 화도인가는, 헬퍼 클래스에서 제공되는 narrow
메소드에 의해 정해집니다. abstract 가 아닌 인터페이스의 헬퍼 클래스에는, CORBA 객체를 사용하는 narrow
메소드가 있습니다. 한편, abstract 인터페이스의 narrow
메소드에서는, Java 프로그램 언어의 객체가 사용됩니다. 적어도 1 개의 abstract 기저 인터페이스를 가지는, abstract 이외의 인터페이스의 헬퍼 클래스에서는, 2 개의 버젼의 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
메소드로 지정되는 메소드를 포함한 클래스입니다. 치 형이 아닌 형태에는, 그에 대한 생성된 기본 헬퍼 클래스가 있습니다.
예를 들어, 인터페이스 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
이 때문에,org.omg.CORBA 패키지의 복수의 인터페이스가 short 의 단일 필드,value 로 구성됩니다. 이 필드는, 에러 코드 또는 값수식자 등에 사용되는 정수입니다. 예를 들어, 인터페이스 BAD_POLICY 의 value 필드는, 예외 PolicyError 가 throw 되는 이유의 1 개가 될 가능성이 있습니다. 이 에러 코드를 지정하려면 ,BAD_POLICY.value 를 사용합니다.
예외 PolicyError 에서는, 가능한 에러 코드로서 다음의 인터페이스의 value 필드가 사용됩니다.
ValueMember
객체의 액세스 메소드에 의해 돌려주어져ValueMember
객체의 가시성을 나타냅니다.
ORB 에서는 인터페이스 리포지터리(repository)를 필요로 하지 않기 때문에, Java IDL 에는 인터페이스 리포지터리(repository)는 포함되지 않습니다. 이 릴리스에서는 인터페이스 리포지터리(repository)가 구현되고 있지 않습니다만, 형태 코드를 작성하기 위해서, 다음의 IR 클래스 및 인터페이스가 포함되어 있습니다 (인터페이스 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 예외를 throw 하는 것이 있습니다. 그 이유로서 이하의 점을 들 수가 있습니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 패키지 다음의 패키지 | 프레임 있어 프레임 없음 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.