모델에서 CORBA 유니온을 정의하여 .idl 파일로 유니온을 생성할 수 있습니다.
프로시저
CORBA 유니온을 정의하려면 다음을 수행하십시오.
- CORBAModule 스테레오타입을 갖는 패키지 또는 CORBAInterface 스테레오타입을 갖는 클래스에
유형을 새로 추가하십시오.
- 작성한 유형에 대한 기능 창을 열고 유형 필드를 유니온으로 설정하십시오.
- 작성된 유형에 대해 CORBA::Type::Discriminator 특성 값을 사용하게 될 식별자의 유형으로
설정하십시오(예: short).
- 유니온의 각 데이터 유형을 나타내는 유형에 속성을 추가하십시오(예: 속성 이름 length_short,
length_long 및 length_double).
- 각 속성에 대한 속성 유형을 적절히 설정하십시오(예: length_short의 short,
length_long의 long 및 length_double의 double).
- 각 속성에 대한 기능 창을 열고 CORBA::Attribute::UnionCase 특성 값을 설정하십시오.
특성 값은 속성에 사용할 식별자 값이어야 합니다. 값은 CORBA::Type::Discriminator 특성에
지정된 유형을 반영해야 합니다. 또한 유니온의 기본 데이터 유형으로 사용할 데이터 유형에 대해
UnionCase 특성을 default 문자열로 설정할 수도 있음에 유의하십시오.
예를 들어, UnionCase 특성 값을 length_short 속성에 1,
length_long 속성에 2, length_double 속성에 default로 각각 설정하십시오.
예
이 단계에서 예로 든 값을 사용한 경우에 생성되는 코드는 다음과 같습니다.
union length switch (short) {
case 1 : short length_short; //## attribute length_short
case 2 : long length_long; //## attribute length_long
default : double length_double; //## attribute length_double
};