Spec-Zone.ru › OpenJDK 8

Интерфейс DynUnionOperations

Все суперинтерфейсы:
DynAnyOperations
Все известные подинтерфейсы:
DynUnion
Все известные реализующие классы:
_DynUnionStub

public interface DynUnionOperations
extends DynAnyOperations

Объекты DynUnion поддерживают манипулирование объединениями IDL. Объединение может иметь только две допустимые текущие позиции:

  • ноль, которая обозначает дискриминатор
  • один, которая обозначает активный член
Значение component_count для объединения зависит от текущего дискриминатора: оно равно 2 для объединения, дискриминатор которого указывает на именованный член, и 1 в противном случае.

Методы

Модификатор и тип Метод и описание
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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API