JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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 label로서 지정되지 않고 공용체가 판별자만으로 구성되는 경우에 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 label의 어떤 것과도 일치하지 않는 값으로 설정합니다.
 
인터페이스 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

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


set_discriminator

public 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

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

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

set_to_no_active_member

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

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

has_no_active_member

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


discriminator_kind

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


member_kind

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

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

member

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

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

member_name

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

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

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.