«CORBAInterface» 클래스에는
속성과 오퍼레이션 둘 다
있을 수 있습니다. IDL 인터페이스에서 동일한 이름으로 이러한 요소가
속성 및 오퍼레이션에 생성됩니다.
속성 및 오퍼레이션에 사용되는
데이터 유형은 IDL 파일에서
"현상태 그대로" 생성됩니다.
따라서 사전 정의된 CORBA 유형 패키지나 사용자 고유의
«CORBAModule» 또는 «CORBAInterface»에서
정의된 CORBA 데이터 유형을 사용해야 합니다.
다음과 같이 모델에서 서브클래스를 작성하여
IDL 인터페이스를 실현할 수 있습니다.
- 모든 CORBA 오퍼레이션은 실현하는
클래스에서 해당되는
C++ 오퍼레이션을 가지고 있어야 합니다.
- 모든 CORBA
속성은 실현하는 클래스에서 해당되는
C++ 속성을 가지고 있어야 합니다. 실현하는 클래스에서 get 및 set
오퍼레이션을 제공해야 합니다.
- 모든 CORBA 유형(예:
long)은 실현하는 클래스에서
해당되는 유형(예: CORBA::long)을 가지고 있어야
합니다. CORBA 사전 정의 유형 패키지에서 이러한 유형을
가져올 수 있습니다.
프로세스를 단순화하기 위해
CORBA 오퍼레이션 및 속성을 CORBA 인터페이스에서 일반 클래스로
끌어다 놓을 수 있습니다. IBM® Rational® Rhapsody®는 유형을
자동으로 변환합니다.
다음 제한조건은 코드 생성에
관련되는 CORBA 인터페이스에 적용됩니다.
- CORBA 인터페이스의 속성 및
오퍼레이션은 둘 다 public, private 또는 protected으로
분류할 수 없습니다. 따라서 생성된
IDL 파일은 public 속성 및 오퍼레이션만 참조합니다.
protected 및 public 상태의 속성은 무시됩니다.
- «CORBAInterface» 스테레오타입이 지정된
클래스는
인스턴스화할 수 없습니다. 따라서 오퍼레이션 본문(존재하는 경우)은
무시됩니다.
- virtual, static 및
const 키워드에는 «CORBAInterface» 클래스에 대한 의미가 없습니다.
따라서 virtual/static 키워드는
IDL 속성 생성 중에 무시됩니다.
속성의 CORBA::Attribute:IsReadOnly 특성을
True로 설정하여 CORBA 인터페이스 readonly(CORBA
키워드)의 속성을 작성할 수 있습니다.
CORBA 인터페이스 oneway의 오퍼레이션을 작성하려면
오퍼레이션의 CORBA::Operation::IsOneWay 특성을
True로 설정하십시오.
또한 오퍼레이션에 대해 다음 표준
UML 옵션을 사용할 수 있습니다.
- 오퍼레이션 인수의 가능한 방향은
in, out 또는 inout입니다. 인수 창에서 이들 값을 지정하십시오.
- CORBA::Operation::ThrowExceptions 특성을 사용하여
오퍼레이션에서 처리되는 예외를 지정할 수 있습니다. 예를 들어,
오퍼레이션에서 exc1 및 exc2 예외가 처리되는 경우
ThrowExceptions 특성에 대해 "exc1, exc2"를 설정하십시오.