Класс _DynAnyFactoryStub
- java.lang.Object
-
- org.omg.CORBA.portable.ObjectImpl
-
- org.omg.DynamicAny._DynAnyFactoryStub
- Все реализованные интерфейсы:
- Serializable, Object, IDLEntity, DynAnyFactory, DynAnyFactoryOperations
public class _DynAnyFactoryStub extends ObjectImpl implements DynAnyFactory
Объекты DynAny могут быть созданы, вызвав операции на объекте DynAnyFactory. Обычно есть только два способа создания объекта DynAny:
- вызов операции на существующем объекте DynAny
- вызов операции на объекте DynAnyFactory
Динамическая интерпретация any обычно включает в себя создание объекта DynAny с использованием create_dyn_any() как первого шага. В зависимости от типа any, ссылка на получившийся объект DynAny может быть сужена до ссылки на объект DynFixed, DynStruct, DynSequence, DynArray, DynUnion, DynEnum или DynValue.
Динамическое создание any включает в себя создание объекта DynAny с использованием create_dyn_any_from_type_code(), передавая TypeCode, связанный со значением, которое нужно создать. Возвращённая ссылка сужается до одного из сложных типов, таких как DynStruct, если это уместно. Затем значение может быть инициализировано путём вызова операций на полученном объекте. Наконец, может быть вызван метод to_any для создания значения any из созданного DynAny.
Сводка полей
| Модификатор и тип | Поле и описание |
|---|---|
static Class |
_opsClass |
Сводка конструкторов
| Конструктор и описание |
|---|
_DynAnyFactoryStub() |
Сводка методов
| Модификатор и тип | Метод и описание |
|---|---|
String[] |
_ids() Получает массив строк, содержащий идентификаторы репозитория, поддерживаемые этим |
DynAny |
create_dyn_any_from_type_code(TypeCode type) Создаёт DynAny из TypeCode. |
DynAny |
create_dyn_any(Any value) Создаёт новый объект DynAny из значения any. |
Методы, унаследованные от класса org.omg.CORBA.portable.ObjectImpl
_create_request, _create_request, _duplicate, _get_delegate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_delegate, _set_policy_override, equals, hashCode, toString Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы, унаследованные от интерфейса org.omg.CORBA.Object
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override Подробное описание полей
_opsClass
public static final Class _opsClass
Подробное описание конструкторов
_DynAnyFactoryStub
public _DynAnyFactoryStub()
Подробное описание методов
create_dyn_any
public DynAny create_dyn_any(Any value)
throws InconsistentTypeCode Создаёт новый объект DynAny из значения any. Копия TypeCode, связанного со значением any, присваивается получившемуся объекту DynAny. Значение, связанное с объектом DynAny, является копией значения в исходном any. Текущая позиция созданного DynAny устанавливается в ноль, если переданное значение имеет компоненты, в противном случае в -1.
- Указано в:
-
create_dyn_anyв интерфейсеDynAnyFactoryOperations - Исключения:
-
InconsistentTypeCode- если значение имеет TypeCode с TCKind tk_Principal, tk_native или tk_abstract_interface
create_dyn_any_from_type_code
public DynAny create_dyn_any_from_type_code(TypeCode type)
throws InconsistentTypeCode Создаёт DynAny из TypeCode. В зависимости от TypeCode, созданный объект может быть типа DynAny или одного из его производных типов, например, DynStruct. Возвращённую ссылку можно сузить до производного типа. Во всех случаях DynAny, созданный из TypeCode, имеет начальное значение по умолчанию. Значения по умолчанию для основных типов:
- false для boolean
- ноль для числовых типов
- ноль для типов octet, char и wchar
- пустая строка для string и wstring
- null для ссылок на объекты
- TypeCode со значением TCKind tk_null для TypeCode
- для any значений — any, содержащий TypeCode со значением TCKind tk_null и без значения
- Для DynSequence устанавливает текущую позицию в -1 и создаёт пустую последовательность.
- Для DynEnum устанавливает текущую позицию в -1 и устанавливает значение перечислителя в первое значение перечислителя, указанное в TypeCode.
- Для DynFixed устанавливает текущую позицию в -1 и устанавливает значение в ноль.
- Для DynStruct устанавливает текущую позицию в -1 для пустых исключений и в ноль для всех других TypeCode. Члены (если они есть) (рекурсивно) инициализируются их значениями по умолчанию.
- Для DynArray устанавливает текущую позицию в ноль и (рекурсивно) инициализирует элементы их значениями по умолчанию.
- Для DynUnion устанавливает текущую позицию в ноль. Значение дискриминатора устанавливается в значение, согласованное с первым именованным членом объединения. Этот член активируется и (рекурсивно) инициализируется его значением по умолчанию.
- Для DynValue и DynValueBox инициализируется значением null.
- Указано в:
-
create_dyn_any_from_type_codeв интерфейсеDynAnyFactoryOperations - Исключения:
InconsistentTypeCode
_ids
public String[] _ids()
Описание скопировано из класса: ObjectImpl
Получает массив строк, содержащий идентификаторы репозитория, поддерживаемые этим ObjectImpl объектом. Например, для stub этот метод возвращает информацию обо всех интерфейсах, поддерживаемых stub.
- Указано в:
-
_idsв классеObjectImpl - Возвращает:
- массив всех идентификаторов репозитория, поддерживаемых этим
ObjectImplэкземпляром
© 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.