Интерфейс DynUnionOperations
- Все суперинтерфейсы:
- DynAnyOperations
- Все известные подинтерфейсы:
- DynUnion
- Все известные реализующие классы:
- _DynUnionStub
public interface DynUnionOperations extends DynAnyOperations
Объекты DynUnion поддерживают манипулирование объединениями IDL. Объединение может иметь только две допустимые текущие позиции:
- ноль, которая обозначает дискриминатор
- один, которая обозначает активный член
Методы
| Модификатор и тип | Метод и описание |
|---|---|
TCKind |
discriminator_kind() Возвращает значение TCKind типа кода дискриминатора. |
DynAny |
get_discriminator() Возвращает текущее значение дискриминатора. |
boolean |
has_no_active_member() Возвращает true, если объединение не имеет активного члена, то есть значение объединения состоит только из его дискриминатора, потому что дискриминатор имеет значение, которое не указано как явный ярлык случая. |
TCKind |
member_kind() Возвращает значение TCKind типа кода текущего активного члена. |
String |
member_name() Возвращает имя текущего активного члена. |
DynAny |
member() Возвращает текущий активный член. |
void |
set_discriminator(DynAny d) Устанавливает дискриминатор DynUnion в указанное значение. |
void |
set_to_default_member() Устанавливает дискриминатор в значение, согласующееся со значением по умолчанию для случая объединения. |
void |
set_to_no_active_member() Устанавливает дискриминатор в значение, не соответствующее ни одному из ярлыков случаев объединения. |
Методы, унаследованные от интерфейса 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 в указанное значение. Установка дискриминатора в значение, согласующееся с текущим активным членом объединения, не влияет на текущий активный член. Установка дискриминатора в значение, не согласующееся с текущим активным членом, деактивирует член и активирует член, согласующийся с новым значением дискриминатора (если такой член есть), инициализируя член его значением по умолчанию. Установка дискриминатора объединения устанавливает текущую позицию в 0, если значение дискриминатора указывает на несуществующий член объединения (has_no_active_member возвращает true в этом случае). В противном случае, если значение дискриминатора указывает на именованный член объединения, текущая позиция устанавливается в 1 (has_no_active_member возвращает false, а component_count возвращает 2 в этом случае).
- Исключения:
-
TypeMismatch- если тип кода параметра не эквивалентен типу кода дискриминатора объединения
set_to_default_member
void set_to_default_member()
throws TypeMismatch Устанавливает дискриминатор в значение, согласующееся со значением по умолчанию для случая объединения. Устанавливает текущую позицию в ноль и заставляет component_count возвращать 2.
- Исключения:
-
TypeMismatch- если объединение не имеет явного случая по умолчанию
set_to_no_active_member
void set_to_no_active_member()
throws TypeMismatch Устанавливает дискриминатор в значение, не соответствующее ни одному из ярлыков случаев объединения. Устанавливает текущую позицию в ноль и заставляет component_count возвращать 1.
- Исключения:
-
TypeMismatch- если объединение имеет явный случай по умолчанию или если оно использует весь диапазон значений дискриминатора для явных ярлыков случаев
has_no_active_member
boolean has_no_active_member()
Возвращает true, если объединение не имеет активного члена, то есть значение объединения состоит только из его дискриминатора, потому что дискриминатор имеет значение, которое не указано как явный ярлык случая. Вызов этого метода для объединения с дефолтным случаем возвращает false. Вызов этого метода для объединения, использующего весь диапазон значений дискриминатора для явных ярлыков случаев, возвращает false.
discriminator_kind
TCKind discriminator_kind()
Возвращает значение TCKind типа кода дискриминатора.
member_kind
TCKind member_kind()
throws InvalidValue Возвращает значение TCKind типа кода текущего активного члена.
- Исключения:
-
InvalidValue- если объединение не имеет текущего активного члена
member
DynAny member()
throws InvalidValue Возвращает текущий активный член. Обратите внимание, что возвращаемая ссылка остается действительной только до тех пор, пока текущий активный член не изменится. Использование возвращаемой ссылки после окончания срока действия текущего активного члена вызывает исключение OBJECT_NOT_EXIST.
- Исключения:
-
InvalidValue- если объединение не имеет активного члена
member_name
String member_name()
throws InvalidValue Возвращает имя текущего активного члена. Если тип кода объединения не содержит имени члена для текущего активного члена, операция возвращает пустую строку.
- Исключения:
-
InvalidValue- если объединение не имеет активного члена
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.