JavaTM Platform
Standard Ed. 6

org.omg.DynamicAny
인터페이스 DynUnionOperations

모든 슈퍼 인터페이스:
DynAnyOperations
기존의 서브 인터페이스의 일람:
DynUnion
기존의 구현 클래스의 일람:
_DynUnionStub


public interface DynUnionOperations
extends DynAnyOperations

DynUnion 객체에 의해, IDL 의 공용체의 조작이 지원됩니다. 공용체의 경우, 유효한 현재 위치는 다음의 2 개 뿐입니다.

공용체의 component_count 치는, 현재의 판별자에 따라서 다릅니다. 판별자가 지정된 멤버를 나타내는 경우는 2 로, 그렇지 않은 경우는 1 입니다.


메소드의 개요
 TCKind discriminator_kind ()
          판별자의 TypeCode 의 TCKind 치를 돌려줍니다.
 DynAny get_discriminator ()
          현재의 판별자의 값을 돌려줍니다.
 boolean has_no_active_member ()
          공용체에 액티브한 멤버가 없는 경우, 즉 판별자의 값이 명시적인 case 라벨로 해서 지정되지 않고, 공용체가 판별자만으로 구성되는 경우에 true 를 돌려줍니다.
 TCKind member_kind ()
          현재 액티브한 멤버의 TypeCode 의 TCKind 치를 돌려줍니다.
 String member_name ()
          현재 액티브한 멤버의 이름을 돌려줍니다.
 DynAny member ()
          현재 액티브한 멤버를 돌려줍니다.
 void set_discriminator (DynAny  d)
          DynUnion 의 판별자를, 지정한 값으로 설정합니다.
 void set_to_default_member ()
          판별자의 값을, 공용체의 디폴트의 case 의 값과 일치하는 값으로 설정합니다.
 void set_to_no_active_member ()
          판별자의 값을, 공용체의 case 라벨의 어떤 것과도 일치하지 않는 값으로 설정합니다.
 
인터페이스 org.omg.DynamicAny. DynAnyOperations 로부터 상속된 메소드
assign , component_count , copy , current_component , destroy , equal , from_any , get_any , get_boolean , get_char , get_double , get_dyn_any , get_float , get_long , get_longlong , get_octet , get_reference , get_short , get_string , get_typecode , get_ulong , get_ulonglong , get_ushort , get_val , get_wchar , get_wstring , insert_any , insert_boolean , insert_char , insert_double , insert_dyn_any , insert_float , insert_long , insert_longlong , insert_octet , insert_reference , insert_short , insert_string , insert_typecode , insert_ulong , insert_ulonglong , insert_ushort , insert_val , insert_wchar , insert_wstring , next , rewind , seek , to_any , type
 

메소드의 상세

get_discriminator

DynAny  get_discriminator()
현재의 판별자의 값을 돌려줍니다.


set_discriminator

void set_discriminator(DynAny  d)
                       throws TypeMismatch 
DynUnion 의 판별자를, 지정한 값으로 설정합니다. 현재 액티브하게 되어 있는 공용체 멤버에게 일치하는 값에 판별자를 설정해도, 그 멤버에게는 영향은 없습니다. 판별자를 현재 액티브하게 되어 있는 멤버와 일치하지 않는 값으로 설정하면(자), 그 멤버는 비액티브화 되어 새로운 판별자의 값에 멤버가 있으면, 거기에 일치하는 멤버를 디폴트 값에 초기화해, 액티브하게 합니다. 공용체의 판별자를 설정하면(자), 판별자의 값이 존재하지 않는 공용체 멤버를 가리키는 경우 (has_no_active_member 가 true 를 돌려주는 것 같은 경우)는 현재 위치가 0 으로 설정됩니다. 그렇지 않은 경우, 즉 판별자의 값이 지정한 공용체 멤버를 나타내는 경우는, 현재 위치는 1 으로 설정됩니다(이 경우, has_no_active_member 는 false 를 돌려주어, component_count 는 2 를 돌려준다).

예외:
TypeMismatch - 파라미터의 TypeCode 가, 공용체의 판별자의 TypeCode 와 같지 않는 경우

set_to_default_member

void set_to_default_member()
                           throws TypeMismatch 
판별자의 값을, 공용체의 디폴트의 case 의 값과 일치하는 값으로 설정합니다. 현재 위치는 0 으로 설정되어 component_count 는 2 를 돌려주게 됩니다.

예외:
TypeMismatch - 공용체가 명시적인 디폴트의 case 를 가지지 않는 경우

set_to_no_active_member

void set_to_no_active_member()
                             throws TypeMismatch 
판별자의 값을, 공용체의 case 라벨의 어떤 것과도 일치하지 않는 값으로 설정합니다. 현재 위치는 0 으로 설정되어 component_count 는 1 을 돌려주게 됩니다.

예외:
TypeMismatch - 공용체에 명시적인 디폴트의 case 가 있는지, 명시적인 case 라벨로 해서 판별자의 값의 범위 전체가 사용되는 경우

has_no_active_member

boolean has_no_active_member()
공용체에 액티브한 멤버가 없는 경우, 즉 판별자의 값이 명시적인 case 라벨로 해서 지정되지 않고, 공용체가 판별자만으로 구성되는 경우에 true 를 돌려줍니다. 디폴트의 case 를 가지는 공용체로 이 오퍼레이션을 호출하면(자), false 가 돌려주어집니다. 또, 명시적인 case 라벨로 해서 판별자의 값의 범위 전체가 사용되는 공용체로 이 오퍼레이션을 호출했을 경우도, false 가 돌려주어집니다.


discriminator_kind

TCKind  discriminator_kind()
판별자의 TypeCode 의 TCKind 치를 돌려줍니다.


member_kind

TCKind  member_kind()
                   throws InvalidValue 
현재 액티브한 멤버의 TypeCode 의 TCKind 치를 돌려줍니다.

예외:
InvalidValue - 공용체에 현재 액티브한 멤버가 없는 경우

member

DynAny  member()
              throws InvalidValue 
현재 액티브한 멤버를 돌려줍니다. 반환된 참조는, 현재 액티브한 멤버가 변경하지 않는 동안만 유효한 것으로 주의해 주세요. 현재 액티브한 멤버의 존속 기간을 넘어 참조를 사용하면(자), OBJECT_NOT_EXIST 가 발생합니다.

예외:
InvalidValue - 공용체에 액티브한 멤버가 없는 경우

member_name

String  member_name()
                   throws InvalidValue 
현재 액티브한 멤버의 이름을 돌려줍니다. 공용체의 TypeCode 에, 현재 액티브한 멤버의 멤버명이 없는 경우는, 빈 상태(empty)의 캐릭터 라인이 돌려주어집니다.

예외:
InvalidValue - 공용체에 액티브한 멤버가 없는 경우

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.