any
во времени выполнения, и экстракции примитивных составляющих значения данных.См.: Описание
Интерфейс | Описание |
---|---|
DynAny |
Любые значения могут быть динамически интерпретированы (пересеченные) и созданные через объекты DynAny.
|
DynAnyFactory |
Объекты DynAny могут быть созданы, вызывая операции на объекте DynAnyFactory.
|
DynAnyFactoryOperations |
Объекты DynAny могут быть созданы, вызывая операции на объекте DynAnyFactory.
|
DynAnyOperations |
Любые значения могут быть динамически интерпретированы (пересеченные) и созданные через объекты DynAny.
|
DynArray |
Объекты DynArray поддерживают манипулирование массивами IDL.
|
DynArrayOperations |
Объекты DynArray поддерживают манипулирование массивами IDL.
|
DynEnum |
Объекты DynEnum поддерживают манипулирование перечисляемыми значениями IDL.
|
DynEnumOperations |
Объекты DynEnum поддерживают манипулирование перечисляемыми значениями IDL.
|
DynFixed |
Объекты DynFixed поддерживают манипулирование фиксированными значениями IDL.
|
DynFixedOperations |
Объекты DynFixed поддерживают манипулирование фиксированными значениями IDL.
|
DynSequence |
Объекты DynSequence поддерживают манипулирование последовательностями IDL.
|
DynSequenceOperations |
Объекты DynSequence поддерживают манипулирование последовательностями IDL.
|
DynStruct |
Объекты DynStruct поддерживают манипулирование IDL struct и значениями исключения.
|
DynStructOperations |
Объекты DynStruct поддерживают манипулирование IDL struct и значениями исключения.
|
DynUnion |
Объекты DynUnion поддерживают манипулирование объединениями IDL.
|
DynUnionOperations |
Объекты DynUnion поддерживают манипулирование объединениями IDL.
|
DynValue |
Объекты DynValue поддерживают манипулирование IDL неупакованные типы значения.
|
DynValueBox |
Объекты DynValueBox поддерживают манипулирование IDL упакованные типы значения.
|
DynValueBoxOperations |
Объекты DynValueBox поддерживают манипулирование IDL упакованные типы значения.
|
DynValueCommon |
DynValueCommon обеспечивает операции, поддерживаемые и интерфейсами DynValue и DynValueBox.
|
DynValueCommonOperations |
DynValueCommon обеспечивает операции, поддерживаемые и интерфейсами DynValue и DynValueBox.
|
DynValueOperations |
Объекты DynValue поддерживают манипулирование IDL неупакованные типы значения.
|
Класс | Описание |
---|---|
_DynAnyFactoryStub |
Объекты DynAny могут быть созданы, вызывая операции на объекте DynAnyFactory.
|
_DynAnyStub |
Любые значения могут быть динамически интерпретированы (пересеченные) и созданные через объекты DynAny.
|
_DynArrayStub |
Объекты DynArray поддерживают манипулирование массивами IDL.
|
_DynEnumStub |
Объекты DynEnum поддерживают манипулирование перечисляемыми значениями IDL.
|
_DynFixedStub |
Объекты DynFixed поддерживают манипулирование фиксированными значениями IDL.
|
_DynSequenceStub |
Объекты DynSequence поддерживают манипулирование последовательностями IDL.
|
_DynStructStub |
Объекты DynStruct поддерживают манипулирование IDL struct и значениями исключения.
|
_DynUnionStub |
Объекты DynUnion поддерживают манипулирование объединениями IDL.
|
_DynValueStub |
Объекты DynValue поддерживают манипулирование IDL неупакованные типы значения.
|
AnySeqHelper |
org/omg/DynamicAny/AnySeqHelper.java.
|
DynAnyFactoryHelper |
Объекты DynAny могут быть созданы, вызывая операции на объекте DynAnyFactory.
|
DynAnyHelper |
Любые значения могут быть динамически интерпретированы (пересеченные) и созданные через объекты DynAny.
|
DynAnySeqHelper |
org/omg/DynamicAny/DynAnySeqHelper.java.
|
DynArrayHelper |
Объекты DynArray поддерживают манипулирование массивами IDL.
|
DynEnumHelper |
Объекты DynEnum поддерживают манипулирование перечисляемыми значениями IDL.
|
DynFixedHelper |
Объекты DynFixed поддерживают манипулирование фиксированными значениями IDL.
|
DynSequenceHelper |
Объекты DynSequence поддерживают манипулирование последовательностями IDL.
|
DynStructHelper |
Объекты DynStruct поддерживают манипулирование IDL struct и значениями исключения.
|
DynUnionHelper |
Объекты DynUnion поддерживают манипулирование объединениями IDL.
|
DynValueHelper |
Объекты DynValue поддерживают манипулирование IDL неупакованные типы значения.
|
FieldNameHelper |
org/omg/DynamicAny/FieldNameHelper.java.
|
NameDynAnyPair |
org/omg/DynamicAny/NameDynAnyPair.java.
|
NameDynAnyPairHelper |
org/omg/DynamicAny/NameDynAnyPairHelper.java.
|
NameDynAnyPairSeqHelper |
org/omg/DynamicAny/NameDynAnyPairSeqHelper.java.
|
NameValuePair |
org/omg/DynamicAny/NameValuePair.java.
|
NameValuePairHelper |
org/omg/DynamicAny/NameValuePairHelper.java.
|
NameValuePairSeqHelper |
org/omg/DynamicAny/NameValuePairSeqHelper.java.
|
Обеспечивает классы и интерфейсы, которые включают обходу значения данных, связанного с any
во времени выполнения, и экстракции примитивных составляющих значения данных.
any
может быть передан к программе, у которой нет никакой статической информации для типа any
(код, сгенерированный для типа компилятором IDL, не был скомпилирован с объектной реализацией). В результате объект, получающий any
не имеет переносимого метода использования этого.
DynAny
s включают обходу значения данных, связанного с any
во времени выполнения, и экстракции примитивных составляющих значения данных. Это особенно полезно для того, чтобы записать мощные универсальные серверы (мосты, фильтрация поддержки каналов события). Точно так же это средство включает конструкции any
во времени выполнения, не имея статическое знание его типа. Это особенно полезно для того, чтобы записать универсальным клиентам (мосты, браузеры, отладчики, инструменты пользовательского интерфейса).
Any
значения могут быть динамически интерпретированы (пересеченные) и созданные через объекты DynAny. Объект DynAny связывается со значением данных, которое соответствует копии значения, вставленного в Any. Объект DynAny может быть просмотрен как упорядоченный набор компонента DynAny s. Для DynAny s представление основного типа, такой как long
, или тип без компонентов, таких как пустое исключение, упорядоченный набор компонентов пуст.
Каждый объект DynAny поддерживает понятие текущей позиции в ее набор компонента DynAny s. Текущая позиция идентифицируется индексировать значением, которое работает от 0 до n-1, где n является числом компонентов. Специальное предложение индексирует значение-1, указывает на текущую позицию, которая не указывает нигде. Для значений, у которых не может быть текущей позиции (такой как пустое исключение), индексировать значение фиксируется в-1. Если a DynAny
инициализируется со значением, у которого есть компоненты, индексирование инициализируется к 0. После создания неинициализированного DynAny
(то есть, a DynAny
у этого нет никакого значения, но a TypeCode
это разрешает компоненты), текущая позиция зависит от типа имеющего значение, представленного DynAny
. (Текущая позиция устанавливается в 0 или-1, в зависимости от ли новое DynAny
получает значения по умолчанию для его компонентов.)
Итеративные операции rewind
, seek
, и next
может использоваться, чтобы изменить текущую позицию и current_component
работа возвращает компонент в текущей позиции. component_count
работа возвращает число компонентов a DynAny
. Все вместе эти операции включают итерации по компонентам a DynAny
, например, чтобы (рекурсивно) исследовать его содержание.
Созданный DynAny
объект является a DynAny
объект связался с созданным типом. Есть различный интерфейс, наследовавшийся от DynAny
интерфейс, связанный с каждым видом созданных, вводит IDL (фиксированный, перечисление, struct, последовательность, объединение, массив, исключение, и оцените тип). Созданный DynAny
возразите экспортирует операции, которые включают созданию новых DynAny
объекты, каждый из них связанный с компонентом созданного значения данных. Как пример, a DynStruct
связывается с a struct
значение. Это означает что DynStruct
может быть замечен как обладание упорядоченного набора компонентов, один для каждого элемента структуры. DynStruct
возразите экспортирует операции, которые включают созданию новых DynAny
объекты, каждый из них связанный с элементом struct
.
Если a DynAny
объект был получен от другого (созданного) DynAny
объект, такой как a DynAny
представление элемента структуры, который создавался из a DynStruct
, элемент DynAny
логически содержится в DynStruct
. Вызов insert
или get
листы работы неизменная текущая позиция. Уничтожение верхнего уровня DynAny
объект (тот, который не был получен как компонент другого DynAny
) также уничтожает любой компонент DynAny
объекты получаются из этого. Уничтожение неверхнего уровня DynAny
объект ничего не делает. Вызов операций на уничтоженном верхнем уровне DynAny
или любой из его потомков повышает OBJECT_NOT_EXIST. Если программист хочет уничтожить a DynAny
возразите, но все еще хочет управлять некоторым компонентом значения данных, связанного с этим, тогда он или она должен сначала создать a DynAny
для компонента и, после этого, делают копию создаваемого DynAny
объект.
Поведение DynAny
объекты были определены, чтобы включить эффективным реализациям с точки зрения выделенного пространства памяти и скорости доступа. DynAny
объекты предназначаются, чтобы использоваться для того, чтобы пересечь значения, извлеченные из any
s или значения построения any
s во времени выполнения. Их использование в других целях не рекомендуется.
Insert
и get
операции необходимы для основного дескриптора DynAny
объекты, но также полезны для созданного дескриптора DynAny
объекты. Вставляя исходные данные вводят значение в созданный DynAny
объект подразумевает инициализацию текущего компонента созданного значения данных, связанного с DynAny
объект. Например, вызов insert_boolean
на a DynStruct
подразумевает вставку a boolean
значение данных в текущей позиции связанного struct
значение данных. Тип является непротиворечивым для вставки или извлечения значения если TypeCode
эквивалентно TypeCode
содержавшийся в DynAny
или, если DynAny
имеет компоненты, эквивалентно TypeCode
из DynAny
в текущей позиции.
Основные операции включают:
DynAny
и DynAnyFactory
объекты предназначаются, чтобы быть локальными для процесса, в котором они создаются и используются. Это означает это ссылки на DynAny
и DynAnyFactory
объекты не могут быть экспортированы в другие процессы, или воплощены с ORB.object_to_string()
. Если какая-либо попытка будет предпринята, чтобы сделать так, то незаконная работа повысит УПОРЯДОЧИВАТЬ системное исключение. Так как их интерфейсы определяются в IDL, DynAny
объекты экспортируют операции, определенные в стандарте org.omg.CORBA.Object
интерфейс. Однако, любая попытка вызвать операции, экспортируемые через Object
интерфейс может повысить стандартное исключение NO_IMPLEMENT. Попытка использовать a DynAny
объект с DII может повысить исключение NO_IMPLEMENT.
Для точного списка поддерживаемых разделов официальных спецификаций, которым Java [ТМ] Платформа, Standard Edition подчиняются 6 ШАРОВ, см. Официальные Спецификации для поддержки CORBA в Java [ТМ] SE 6.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92