Spec-Zone.ru › OpenJDK 8

Класс ORB

  • java.lang.Object
    • org.omg.CORBA.ORB
Direct Known Subclasses:
ORB

public abstract class ORB
extends Object

Класс, предоставляющий API для функций брокера запросов объектов CORBA. Класс ORB также предоставляет API "подключаемых реализаций ORB", позволяющие использовать реализацию ORB другого производителя.

ORB позволяет объектам CORBA взаимодействовать друг с другом, соединяя объекты, делающие запросы (клиенты), с объектами, обрабатывающими запросы (серверы).

Класс ORB, который инкапсулирует общие функциональные возможности CORBA, выполняет следующие действия: (Обратите внимание, что пункты 5 и 6, включающие большинство методов класса ORB, обычно используются с Dynamic Invocation Interface (DII) и Dynamic Skeleton Interface (DSI). Эти интерфейсы могут быть использованы разработчиком напрямую, но чаще всего используются ORB внутри и не видны обычному программисту.)

  1. инициализирует реализацию ORB, предоставляя значения для предопределенных свойств и параметров среды
  2. получает начальные ссылки на объекты таких сервисов, как NameService, используя метод resolve_initial_references
  3. преобразует ссылки на объекты в строки и обратно
  4. подключает ORB к серванту (экземпляру реализации объекта CORBA) и отключает ORB от серванта
  5. создает объекты, такие как
    • TypeCode
    • Any
    • NamedValue
    • Context
    • Environment
    • списки (такие как NVList) содержащие эти объекты
  6. отправляет несколько сообщений в DII

Класс ORB может использоваться для получения ссылок на объекты, реализованные в любой точке сети.

Приложение или апплет получают доступ к среде CORBA, инициализируя себя в ORB с помощью одного из трех init методов. Два из трех методов используют свойства (сопоставления имени со значением), показанные в таблице ниже.

Имя свойства Значение свойства
org.omg.CORBA.ORBClass имя класса реализации ORB
org.omg.CORBA.ORBSingletonClass имя класса ORB, возвращаемого init()

Эти свойства позволяют "подключить" реализацию ORB другого производителя.

При создании экземпляра ORB имя класса реализации ORB находится в следующем стандартном порядке поиска:

  1. проверить в параметрах апплета или массиве строк приложения, если таковые имеются
  2. проверить в параметре свойств, если таковой имеется
  3. проверить в системных свойствах
  4. проверить в файле orb.properties, расположенном в каталоге user.home (если таковой имеется)
  5. проверить в файле orb.properties, расположенном в каталоге java.home/lib (если таковой имеется)
  6. вернуться к жестко заданному поведению по умолчанию (использовать реализацию Java IDL)

Обратите внимание, что Java IDL предоставляет реализацию по умолчанию для полнофункционального ORB и для ORB Singleton. Когда методу init не передаются параметры, возвращается по умолчанию Singleton ORB. Когда методу init передаются параметры, но класс ORB не указан, возвращается реализация Java IDL ORB.

Следующий фрагмент кода создает объект ORB, инициализированный с использованием по умолчанию Singleton ORB. Этот ORB имеет ограниченную реализацию, чтобы предотвратить злонамеренным апплетам делать что-либо помимо создания кодов типов. Он называется синглтоном, потому что существует только один экземпляр для всей виртуальной машины.

ORB orb = ORB.init();

Следующий фрагмент кода создает объект ORB для приложения. Параметр args представляет аргументы, переданные методу main приложения. Поскольку свойство указывает класс ORB как "SomeORBImplementation", новый ORB будет инициализирован с этой реализацией ORB. Если бы p был null, и аргументы не указали класс ORB, новый ORB был бы инициализирован с реализацией Java IDL по умолчанию.

Properties p = new Properties();
    p.put("org.omg.CORBA.ORBClass", "SomeORBImplementation");
    ORB orb = ORB.init(args, p);

Следующий фрагмент кода создает объект ORB для апплета, переданного в качестве первого параметра. Если заданный апплет не указывает класс ORB, новый ORB будет инициализирован с реализацией Java IDL по умолчанию.

ORB orb = ORB.init(myApplet, null);

Приложение или апплет могут быть инициализированы в одном или нескольких ORB. Инициализация ORB — это вызов загрузки в мир CORBA.

Since:
JDK1.2

Конструкторы

Конструктор и описание
ORB()

Методы

Модификатор и тип Метод и описание
void connect(Object obj)

Подключает заданный объект серванта (объект Java, являющийся экземпляром класса реализации сервера) к ORB.

TypeCode create_abstract_interface_tc(String id, String name)

Создаёт объект TypeCode для абстрактного IDL-интерфейса.

abstract TypeCode create_alias_tc(String id, String name, TypeCode original_type)

Создаёт объект TypeCode , представляющий IDL-alias (typedef).

abstract Any create_any()

Создаёт объект IDL Any , инициализированный для хранения объекта Typecode , у которого поле kind установлено в значение TCKind.tc_null.

abstract TypeCode create_array_tc(int length, TypeCode element_type)

Создаёт объект TypeCode , представляющий IDL-array.

DynAny create_basic_dyn_any(TypeCode type)

Устарело.

Используйте новый API DynAnyFactory вместо него.

abstract ContextList create_context_list()

Создаёт пустой объект ContextList.

DynAny create_dyn_any(Any value)

Устарело.

Используйте новый API DynAnyFactory вместо него.

DynArray create_dyn_array(TypeCode type)

Устарело.

Используйте новый API DynAnyFactory вместо него.

DynEnum create_dyn_enum(TypeCode type)

Устарело.

Используйте новый API DynAnyFactory вместо него.

DynSequence create_dyn_sequence(TypeCode type)

Устарело.

Используйте новый API DynAnyFactory вместо него.

DynStruct create_dyn_struct(TypeCode type)

Устарело.

Используйте новый API DynAnyFactory вместо него.

DynUnion create_dyn_union(TypeCode type)

Устарело.

Используйте новый API DynAnyFactory вместо него.

abstract TypeCode create_enum_tc(String id, String name, String[] members)

Создаёт объект TypeCode , представляющий IDL-enum.

abstract Environment create_environment()

Создаёт объект Environment.

abstract ExceptionList create_exception_list()

Создаёт пустой объект ExceptionList.

abstract TypeCode create_exception_tc(String id, String name, StructMember[] members)

Создаёт объект TypeCode , представляющий IDL-exception.

TypeCode create_fixed_tc(short digits, short scale)

Создаёт объект TypeCode для IDL-типа fixed.

abstract TypeCode create_interface_tc(String id, String name)

Создаёт объект TypeCode , представляющий IDL-interface.

abstract NVList create_list(int count)

Выделяет память для NVList (вероятно) достаточную для указанного количества объектов NamedValue.

abstract NamedValue create_named_value(String s, Any any, int flags)

Создаёт объект NamedValue с заданным именем, значением и флагами режима аргумента.

TypeCode create_native_tc(String id, String name)

Создаёт объект TypeCode для IDL-типа native.

NVList create_operation_list(Object oper)

Создаёт объект NVList , инициализированный описаниями аргументов для операции, описанной в заданном объекте OperationDef.

abstract OutputStream create_output_stream()

Создаёт новый объект org.omg.CORBA.portable.OutputStream, в который можно упаковать параметры IDL-методов при вызове метода.

Policy create_policy(int type, Any val)

Может быть вызван для создания новых экземпляров объектов политик определённого типа с заданным начальным состоянием.

abstract TypeCode create_recursive_sequence_tc(int bound, int offset)

Устарело.

Используйте комбинацию create_recursive_tc и create_sequence_tc вместо этого.

TypeCode create_recursive_tc(String id)

Создаёт рекурсивный объект TypeCode , который служит плейсхолдером для конкретного TypeCode во время создания TypeCodes, содержащих рекурсию.

abstract TypeCode create_sequence_tc(int bound, TypeCode element_type)

Создаёт объект TypeCode , представляющий IDL-sequence.

abstract TypeCode create_string_tc(int bound)

Создаёт объект TypeCode , представляющий ограниченный IDL-string.

abstract TypeCode create_struct_tc(String id, String name, StructMember[] members)

Создаёт объект TypeCode , представляющий IDL-struct.

abstract TypeCode create_union_tc(String id, String name, TypeCode discriminator_type, UnionMember[] members)

Создаёт объект TypeCode , представляющий IDL-union.

TypeCode create_value_box_tc(String id, String name, TypeCode boxed_type)

Создаёт объект TypeCode для IDL-контейнера значения.

TypeCode create_value_tc(String id, String name, short type_modifier, TypeCode concrete_base, ValueMember[] members)

Создаёт объект TypeCode для IDL-типа значения.

abstract TypeCode create_wstring_tc(int bound)

Создаёт объект TypeCode , представляющий ограниченный IDL-wstring (широкая строка).

void destroy()

Уничтожает ORB для освобождения его ресурсов.

void disconnect(Object obj)

Отключает заданный объект серванта от ORB.

Current get_current()

Устарело.

используйте resolve_initial_references.

abstract Context get_default_context()

Получает объект по умолчанию Context.

abstract Request get_next_response()

Получает следующий экземпляр Request , для которого получен ответ.

abstract TypeCode get_primitive_tc(TCKind tcKind)

Возвращает объект TypeCode , представляющий данный примитивный IDL-тип.

boolean get_service_information(short service_type, ServiceInformationHolder service_info)

Используется для получения информации о CORBA-средствах и службах, поддерживаемых этим ORB.

static ORB init()

Возвращает объект-синглтон ORB.

static ORB init(Applet app, Properties props)

Создаёт новый экземпляр ORB для апплета.

static ORB init(String[] args, Properties props)

Создаёт новый экземпляр ORB для автономного приложения.

abstract String[] list_initial_services()

Возвращает список первоначально доступных CORBA-ссылок на объекты, таких как "NameService" и "InterfaceRepository".

abstract String object_to_string(Object obj)

Преобразует заданную CORBA-ссылку на объект в строку.

void perform_work()

Выполняет зависящую от реализации единицу работы, если вызвана основным потоком.

abstract boolean poll_next_response()

Определяет, есть ли ответы для отложенных (асинхронных) вызовов.

abstract Object resolve_initial_references(String object_name)

Разрешает конкретную ссылку на объект из набора доступных начальных имён служб.

void run()

Эта операция блокирует текущий поток до тех пор, пока ORB не завершит процесс завершения, инициированный, когда какой-то поток вызывает shutdown.

abstract void send_multiple_requests_deferred(Request[] req)

Отправляет несколько асинхронных запросов динамического интерфейса (DII).

abstract void send_multiple_requests_oneway(Request[] req)

Отправляет несколько асинхронных запросов динамического интерфейса (DII) без ожидания ответов.

protected abstract void set_parameters(Applet app, Properties props)

Позволяет инициализировать реализацию ORB с заданным апплетом и параметрами.

protected abstract void set_parameters(String[] args, Properties props)

Позволяет инициализировать реализацию ORB с заданными параметрами и свойствами.

void shutdown(boolean wait_for_completion)

Инструктирует ORB выполнить завершение, что приводит к завершению всех адаптеров объектов в подготовке к уничтожению.
Если параметр wait_for_completion имеет значение true, эта операция блокируется до завершения всех операций обработки ORB (включая обработку текущих запросов, деактивацию объектов и другие операции адаптеров объектов).

abstract Object string_to_object(String str)

Преобразует строку, созданную методом object_to_string , обратно в CORBA-ссылку на объект.

boolean work_pending()

Возвращает true , если ORB требует, чтобы основной поток выполнил некоторую работу, и false , если ORB не требует основного потока.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

ORB

public ORB()

Методы

init

public static ORB init()

Возвращает объект ORB синглтон. Этот метод всегда возвращает один и тот же экземпляр ORB, который является экземпляром класса, описанного в системной переменной org.omg.CORBA.ORBSingletonClass.

Этот метод без аргументов init используется в основном в качестве фабрики для объектов TypeCode, которые используются классами Helper для реализации метода type. Он также используется для создания объектов Any, которые используются для описания меток union (как часть создания объекта TypeCode для union).

Этот метод не предназначен для использования апплетами, и в случае его вызова в среде апплета возвращаемый ORB ограничен, так что он может использоваться только как фабрика для объектов TypeCode. Любые создаваемые им объекты TypeCode могут безопасно использоваться между недоверенными апплетами.

Если ORB создается этим методом из апплета, будет выброшено системное исключение, если вызываются методы, отличные от методов создания объектов TypeCode.

Возвращает:
синглтон ORB

init

public static ORB init(String[] args,
                       Properties props)

Создает новый экземпляр ORB для автономного приложения. Этот метод может вызываться только из приложений и каждый раз возвращает новый полностью функциональный объект ORB.

Параметры:
args - аргументы командной строки для метода main приложения; может быть null
props - свойства, специфичные для приложения; могут быть null
Возвращает:
новый созданный экземпляр ORB

init

public static ORB init(Applet app,
                       Properties props)

Создает новый экземпляр ORB для апплета. Этот метод может вызываться только из апплетов и каждый раз возвращает новый полностью функциональный объект ORB.

Параметры:
app - апплет; может быть null
props - свойства, специфичные для апплета; могут быть null
Возвращает:
новый созданный экземпляр ORB

set_parameters

protected abstract void set_parameters(String[] args,
                                       Properties props)

Разрешает инициализировать реализацию ORB заданными параметрами и свойствами. Этот метод, используемый только в приложениях, реализуется подклассами ORB и вызывается соответствующим методом init для передачи параметров.

Параметры:
args - аргументы командной строки для метода main приложения; могут быть null
props - свойства, специфичные для приложения; могут быть null

set_parameters

protected abstract void set_parameters(Applet app,
                                       Properties props)

Разрешает инициализировать реализацию ORB заданным апплетом и параметрами. Этот метод, используемый только в апплетах, реализуется подклассами ORB и вызывается соответствующим методом init для передачи параметров.

Параметры:
app - апплет; может быть null
props - свойства, специфичные для апплета; могут быть null

connect

public void connect(Object obj)

Подключает заданный объект сервера (объект Java, являющийся экземпляром класса реализации сервера) к ORB. Класс сервера должен расширять класс ImplBase соответствующий интерфейсу, поддерживаемому сервером. Таким образом, сервер должен быть ссылкой на объект CORBA и наследоваться от org.omg.CORBA.Object. Серверы, созданные пользователем, могут начать получать удалённые вызовы после вызова метода connect. Сервер также может быть автоматически и неявно подключен к ORB, если он передаётся как параметр IDL в вызове метода IDL на удалённый объект, то есть если объект сервера должен быть закодирован и отправлен за пределы адресного пространства процесса.

Вызов метода connect не оказывает никакого влияния, когда объект сервера уже подключен к ORB.

Устарело OMG в пользу API адаптеров портативных объектов.

Параметры:
obj - Ссылка на объект сервера

destroy

public void destroy()

Уничтожает ORB, чтобы освободить его ресурсы. Любая операция, вызываемая на уничтоженную ссылку ORB, выбросит исключение OBJECT_NOT_EXIST. После уничтожения ORB, другой вызов init с тем же ORBid вернёт ссылку на вновь созданный ORB.

Если destroy вызывается на ORB, который ещё не завершён, он запустит процесс завершения и заблокируется, до тех пор, пока ORB не завершит работу, прежде чем уничтожит ORB.
Если приложение вызовет destroy в потоке, который в данный момент обслуживает вызов, то будет выброшено системное исключение BAD_INV_ORDER с кодом OMG minor 3, так как блокировка приведёт к тупиковой ситуации.

Для максимальной переносимости и избежания утечек ресурсов, приложение должно всегда вызывать shutdown и destroy на всех экземплярах ORB перед завершением работы.

Выбрасывает:
BAD_INV_ORDER - если текущий поток обслуживает вызов

disconnect

public void disconnect(Object obj)

Отключает заданный объект сервера от ORB. После возврата этого метода ORB отклонит входящие удалённые запросы для отключённого сервера и отправит исключение org.omg.CORBA.OBJECT_NOT_EXIST обратно удалённому клиенту. Таким образом, объект, с точки зрения удалённых клиентов, кажется уничтоженным. Однако, обратите внимание, что локальные запросы, выпущенные с использованием сервера напрямую, не проходят через ORB; следовательно, они будут продолжать обрабатываться сервером.

Вызов метода disconnect не имеет эффекта, если сервер не подключен к ORB.

Устарело OMG в пользу API адаптеров портативных объектов.

Параметры:
obj - Объект сервера, который будет отключен от ORB

list_initial_services

public abstract String[] list_initial_services()

Возвращает список первоначально доступных ссылок на объекты CORBA, таких как «NameService» и «InterfaceRepository».

Возвращает:
массив объектов String, представляющих ссылки на объекты CORBA-сервисов, первоначально доступных с этим ORB

resolve_initial_references

public abstract Object resolve_initial_references(String object_name)
                                           throws InvalidName

Разрешает определённую ссылку на объект из набора доступных начальных имён сервисов.

Параметры:
object_name - имя начального сервиса в виде строки
Возвращает:
ссылка на объект, связанный с данным именем
Выбрасывает:
InvalidName - если данное имя не связано с известным сервисом

object_to_string

public abstract String object_to_string(Object obj)

Преобразует заданную ссылку на объект CORBA в строку. Обратите внимание, что формат этой строки определён IIOP, что позволяет преобразовывать строки, сгенерированные другим ORB, обратно в ссылку на объект.

Результирующий объект String может быть сохранён или передан любым способом, которым может быть обработан объект String.

Параметры:
obj - ссылка на объект для преобразования в строку
Возвращает:
строка, представляющая ссылку на объект

string_to_object

public abstract Object string_to_object(String str)

Преобразует строку, произведённую методом object_to_string, обратно в ссылку на объект CORBA.

Параметры:
str - строка, которая должна быть преобразована обратно в ссылку на объект. Она должна быть результатом преобразования ссылки на объект в строку с помощью метода object_to_string.
Возвращает:
ссылка на объект

create_list

public abstract NVList create_list(int count)

Выделяет NVList с (вероятно) достаточным пространством для указанного количества объектов NamedValue. Обратите внимание, что указанный размер является лишь подсказкой для помощи в распределении памяти и не подразумевает максимальный размер списка.

Параметры:
count - предлагаемое количество объектов NamedValue, для которых следует выделить память
Возвращает:
новый созданный NVList
См. также:
NVList

create_operation_list

public NVList create_operation_list(Object oper)

Создаёт NVList инициализированный описаниями аргументов для операции, описанной в данном объекте OperationDef. Этот объект OperationDef получен из Репозитория Интерфейсов. Аргументы в возвращаемом объекте NVList расположены в том же порядке, что и в исходном определении IDL-операции, что позволяет использовать список в динамических запросах вызовов.

Параметры:
oper - объект OperationDef для создания списка
Возвращает:
новый созданный объект NVList, содержащий описания аргументов метода, описанного в заданном объекте OperationDef
См. также:
NVList

create_named_value

public abstract NamedValue create_named_value(String s,
                                              Any any,
                                              int flags)

Создаёт объект NamedValue с использованием заданного имени, значения и флагов режима аргумента.

Объект NamedValue служит (1) параметром или возвращаемым значением или (2) свойством контекста. Он может использоваться сам по себе или как элемент в объекте NVList.

Параметры:
s - имя объекта NamedValue
any - значение Any, которое должно быть вставлено в объект NamedValue
flags - флаги режима аргумента для объекта NamedValue: один из ARG_IN.value, ARG_OUT.value, или ARG_INOUT.value.
Возвращает:
новый созданный объект NamedValue
См. также:
NamedValue

create_exception_list

public abstract ExceptionList create_exception_list()

Создаёт пустой объект ExceptionList.

Возвращает:
новый созданный ExceptionList объект

create_context_list

public abstract ContextList create_context_list()

Создаёт пустой ContextList объект.

Возвращает:
новый созданный ContextList объект
См. также:
ContextList, Context

get_default_context

public abstract Context get_default_context()

Получает Context объект по умолчанию.

Возвращает:
объект Context по умолчанию
См. также:
Context

create_environment

public abstract Environment create_environment()

Создаёт объект Environment.

Возвращает:
новый созданный Environment объект
См. также:
Environment

create_output_stream

public abstract OutputStream create_output_stream()

Создаёт новый org.omg.CORBA.portable.OutputStream объект, в который во время вызова метода IDL можно поместить параметры метода.

Возвращает:
новый созданный org.omg.CORBA.portable.OutputStream объект

send_multiple_requests_oneway

public abstract void send_multiple_requests_oneway(Request[] req)

Отправляет несколько асинхронных запросов (DII) без ожидания ответа. Обратите внимание, что для вызовов oneway не гарантируется достижение сервера.

Параметры:
req - массив объектов запроса

send_multiple_requests_deferred

public abstract void send_multiple_requests_deferred(Request[] req)

Отправляет несколько асинхронных запросов (DII).

Параметры:
req - массив объектов Request

poll_next_response

public abstract boolean poll_next_response()

Определяет, есть ли ответы на отложенные (асинхронные) вызовы.

Возвращает:
true , если ответ доступен; false в противном случае

get_next_response

public abstract Request get_next_response()
                                   throws WrongTransaction

Получает следующий Request экземпляр, для которого был получен ответ.

Возвращает:
следующий Request объект, готовый с ответом
Исключения:
WrongTransaction - если метод get_next_response вызывается из области транзакции, отличающейся от той, из которой был отправлен исходный запрос. Подробности см. в спецификации OMG Transaction Service.

get_primitive_tc

public abstract TypeCode get_primitive_tc(TCKind tcKind)

Возвращает объект TypeCode , представляющий заданный примитивный тип IDL.

Параметры:
tcKind - экземпляр TCKind , соответствующий требуемому примитивному типу
Возвращает:
запрашиваемый TypeCode объект

create_struct_tc

public abstract TypeCode create_struct_tc(String id,
                                          String name,
                                          StructMember[] members)

Создаёт объект TypeCode , представляющий IDL struct. Объект TypeCode инициализируется заданным идентификатором, именем и членами.

Параметры:
id - идентификатор репозитория для struct
name - имя struct
members - массив, описывающий члены struct
Возвращает:
новый созданный TypeCode объект, описывающий IDL struct

create_union_tc

public abstract TypeCode create_union_tc(String id,
                                         String name,
                                         TypeCode discriminator_type,
                                         UnionMember[] members)

Создаёт объект TypeCode , представляющий IDL union. Объект TypeCode инициализируется заданным идентификатором, именем, типом дискриминатора и членами.

Параметры:
id - идентификатор репозитория union
name - имя union
discriminator_type - тип дискриминатора union
members - массив, описывающий члены union
Возвращает:
новый созданный TypeCode объект, описывающий IDL union

create_enum_tc

public abstract TypeCode create_enum_tc(String id,
                                        String name,
                                        String[] members)

Создаёт объект TypeCode , представляющий IDL enum. Объект TypeCode инициализируется заданным идентификатором, именем и членами.

Параметры:
id - идентификатор репозитория для enum
name - имя для enum
members - массив, описывающий члены enum
Возвращает:
новый созданный TypeCode объект, описывающий IDL enum

create_alias_tc

public abstract TypeCode create_alias_tc(String id,
                                         String name,
                                         TypeCode original_type)

Создаёт объект TypeCode , представляющий IDL alias (typedef). Объект TypeCode инициализируется заданным идентификатором, именем и исходным типом.

Параметры:
id - идентификатор репозитория для псевдонима
name - имя псевдонима
original_type - объект TypeCode , описывающий исходный тип, для которого это псевдоним
Возвращает:
новый созданный TypeCode объект, описывающий IDL alias

create_exception_tc

public abstract TypeCode create_exception_tc(String id,
                                             String name,
                                             StructMember[] members)

Создаёт объект TypeCode , представляющий IDL exception. Объект TypeCode инициализируется заданным идентификатором, именем и членами.

Параметры:
id - идентификатор репозитория для exception
name - имя для exception
members - массив, описывающий члены exception
Возвращает:
новый созданный TypeCode объект, описывающий IDL exception

create_interface_tc

public abstract TypeCode create_interface_tc(String id,
                                             String name)

Создаёт объект TypeCode , представляющий IDL interface. Объект TypeCode инициализируется заданным идентификатором и именем.

Параметры:
id - идентификатор репозитория для интерфейса
name - имя интерфейса
Возвращает:
новый созданный TypeCode объект, описывающий IDL interface

create_string_tc

public abstract TypeCode create_string_tc(int bound)

Создаёт объект TypeCode , представляющий ограниченный IDL string. Объект TypeCode инициализируется заданным пределом, представляющим максимальную длину строки. Ноль означает, что строка, описываемая этим типом кода, неограничена.

Параметры:
bound - предел для string; не может быть отрицательным
Возвращает:
новый созданный TypeCode объект, описывающий ограниченный IDL string
Исключения:
BAD_PARAM - если предел имеет отрицательное значение

create_wstring_tc

public abstract TypeCode create_wstring_tc(int bound)

Создаёт объект TypeCode , представляющий ограниченный IDL wstring (широкую строку). Объект TypeCode инициализируется заданным пределом, представляющим максимальную длину широкой строки. Ноль означает, что строка, описываемая этим типом кода, неограничена.

Параметры:
bound - предел для wstring; не может быть отрицательным
Возвращает:
новый созданный TypeCode объект, описывающий ограниченный IDL wstring
Исключения:
BAD_PARAM - если предел имеет отрицательное значение

create_sequence_tc

public abstract TypeCode create_sequence_tc(int bound,
                                            TypeCode element_type)

Создаёт объект TypeCode , представляющий IDL sequence. Объект TypeCode инициализируется заданным пределом и типом элемента.

Параметры:
bound - предел для sequence, 0, если неограничен
element_type - объект TypeCode , описывающий элементы, содержащиеся в sequence
Возвращает:
новый созданный TypeCode объект, описывающий IDL sequence

create_recursive_sequence_tc

@Deprecated
public abstract TypeCode create_recursive_sequence_tc(int bound,
                                                                  int offset)

Устарело. Используйте сочетание create_recursive_tc и create_sequence_tc вместо этого

Создаёт объект TypeCode , представляющий рекурсивный IDL sequence.

Для IDL struct узла в следующем фрагменте кода параметр смещения для создания его последовательности будет 1:

Struct Node {
        long value;
        Sequence <Node> subnodes;
    };
Параметры:
bound - предел для последовательности, 0, если неограничен
offset - индекс вложенного объекта TypeCode , описывающего элементы этой последовательности
Возвращает:
новый созданный TypeCode объект, описывающий рекурсивную последовательность
См. также:
create_recursive_tc, create_sequence_tc

create_array_tc

public abstract TypeCode create_array_tc(int length,
                                         TypeCode element_type)

Создаёт объект TypeCode , представляющий IDL array. Объект TypeCode инициализируется заданной длиной и типом элемента.

Параметры:
length - длина array
element_type - объект TypeCode , описывающий тип элемента, содержащегося в array
Возвращает:
новый созданный TypeCode объект, описывающий IDL array

create_native_tc

public TypeCode create_native_tc(String id,
                                 String name)

Создайте объект TypeCode для нативного типа IDL.

Параметры:
id - логический идентификатор для нативного типа.
name - имя нативного типа.
Возвращает:
запрошенный TypeCode.

create_abstract_interface_tc

public TypeCode create_abstract_interface_tc(String id,
                                             String name)

Создайте объект TypeCode для абстрактного интерфейса IDL.

Параметры:
id - логический идентификатор для типа абстрактного интерфейса.
name - имя типа абстрактного интерфейса.
Возвращает:
запрошенный TypeCode.

create_fixed_tc

public TypeCode create_fixed_tc(short digits,
                                short scale)

Создайте объект TypeCode для фиксированного типа IDL.

Параметры:
digits - указывает общее количество десятичных знаков в числе и должно быть от 1 до 31 включительно.
scale - указывает позицию десятичной точки.
Возвращает:
запрошенный TypeCode.

create_value_tc

public TypeCode create_value_tc(String id,
                                String name,
                                short type_modifier,
                                TypeCode concrete_base,
                                ValueMember[] members)

Создайте объект TypeCode для типа значения IDL. Параметр concrete_base — это TypeCode для непосредственного конкретного базового типа значения, для которого создается TypeCode. Он может быть null, если тип значения не имеет конкретной базы.

Параметры:
id - логический идентификатор для типа значения.
name - имя типа значения.
type_modifier - один из константных модификаторов типа значения: VM_NONE, VM_CUSTOM, VM_ABSTRACT или VM_TRUNCATABLE
concrete_base - объект TypeCode , описывающий конкретную базовую часть типа значения
members - массив, содержащий члены типа значения
Возвращает:
запрошенный TypeCode

create_recursive_tc

public TypeCode create_recursive_tc(String id)

Создайте рекурсивный объект TypeCode , который служит заполнительком для конкретного TypeCode во время процесса создания TypeCode, содержащего рекурсию. Параметр id указывает идентификатор хранилища типа, для которого рекурсивный TypeCode служит заполнителем. После того, как рекурсивный TypeCode был должным образом встроен в окружающий TypeCode, соответствующий указанному идентификатору хранилища, он будет работать как обычный TypeCode. Вызов операций на рекурсивном TypeCode до его встраивания в окружающий TypeCode приведет к исключению BAD_TYPECODE.

Например, следующее объявление типа IDL содержит рекурсию:

Struct Node {
        Sequence<Node> subnodes;
    };

Для создания TypeCode для структуры Node вы должны вызвать операции создания TypeCode, как показано ниже:

String nodeID = "IDL:Node:1.0";
 TypeCode recursiveSeqTC = orb.create_sequence_tc(0, orb.create_recursive_tc(nodeID));
 StructMember[] members = { new StructMember("subnodes", recursiveSeqTC, null) };
 TypeCode structNodeTC = orb.create_struct_tc(nodeID, "Node", members);

Также обратите внимание, что следующее является незаконным объявлением типа IDL:

Struct Node {
        Node next;
    };

Рекурсивные типы могут появляться только внутри последовательностей, которые могут быть пустыми. Таким образом, избегаются проблемы с маршалингом при передаче структуры в Any.

Параметры:
id - логический идентификатор ссылки на тип
Возвращает:
запрошенный TypeCode

create_value_box_tc

public TypeCode create_value_box_tc(String id,
                                    String name,
                                    TypeCode boxed_type)

Создает объект TypeCode для контейнера значения IDL.

Параметры:
id - логический идентификатор для типа значения
name - имя типа значения
boxed_type - TypeCode для типа
Возвращает:
запрошенный TypeCode

create_any

public abstract Any create_any()

Создает объект IDL Any , инициализированный содержанием объекта Typecode , поле которого kind установлено в значение TCKind.tc_null.

Возвращает:
новый созданный объект Any

get_current

@Deprecated
public Current get_current()

Устарело. Используйте resolve_initial_references.

Извлекает объект Current . Интерфейс Current используется для управления потоко-специфической информацией для использования службами, такими как транзакции и безопасность.

Возвращает:
новый созданный объект Current
См. также:
CORBA комментарии к пакету для нереализованных функций

run

public void run()

Данная операция блокирует текущий поток, пока ORB не завершит процесс завершения, инициированный, когда какой-то поток вызывает shutdown. Его могут использовать несколько потоков, которые получают уведомление о завершении ORB.

shutdown

public void shutdown(boolean wait_for_completion)

Инструктирует ORB выполнить завершение, что вызывает завершение всех адаптеров объектов в подготовке к уничтожению.
Если параметр wait_for_completion имеет значение true, эта операция блокируется, пока все обработки ORB (включая обработку текущих запросов, деактивацию объектов и другие операции адаптеров объектов) не будут завершены. Если приложение делает это в потоке, который в настоящее время обслуживает вызов, будет брошено исключение системы BAD_INV_ORDER с кодом незначительной ошибки OMG 3, так как блокировка приведет к тупику.
Если параметр wait_for_completion равен FALSE, завершение может не завершиться при возврате.

Пока ORB находится в процессе завершения, ORB функционирует нормально, обслуживая входящие и исходящие запросы до завершения всех запросов. После завершения ORB, операции управления ссылками на объекты могут быть вызваны на ORB или любой ссылке на объект, полученной от него. Приложение также может вызвать операцию destroy на самом ORB. Вызов любой другой операции приведет к исключению системы BAD_INV_ORDER с кодом незначительной ошибки OMG 4.

Метод ORB.run вернется после вызова shutdown.

Параметры:
wait_for_completion - true если вызов должен блокироваться до завершения завершения; false если он должен возвращаться немедленно
Исключения:
BAD_INV_ORDER - если текущий поток обслуживает вызов

work_pending

public boolean work_pending()

Возвращает true , если ORB нуждается в основном потоке для выполнения некоторой работы, и false , если ORB не нуждается в основном потоке.

Возвращает:
true , если ожидается работа, что означает, что ORB нуждается в основном потоке для выполнения некоторой работы; false , если работа не ожидается, и поэтому ORB не нуждается в основном потоке

perform_work

public void perform_work()

Выполняет зависящую от реализации единицу работы, если она вызывается основным потоком. В противном случае ничего не делает. Методы work_pending и perform_work могут использоваться совместно для реализации простого цикла опроса, который мультиплексирует основной поток между ORB и другими задачами.

get_service_information

public boolean get_service_information(short service_type,
                                       ServiceInformationHolder service_info)

Используется для получения информации о CORBA-объектах и услугах, поддерживаемых данным ORB. Тип службы, информация о которой запрашивается, передается в качестве входного параметра service_type, определённых константами в модуле CORBA. Если информация о службе доступна для данного типа, она возвращается в выходном параметре service_info, и операция возвращает значение true . Если информация о запрошенном типе службы недоступна, операция возвращает false (т.е. служба не поддерживается данным ORB).

Параметры:
service_type - значение short , указывающее тип службы, информация о которой запрашивается
service_info - объект ServiceInformationHolder , который будет содержать объект ServiceInformation , созданный данным методом
Возвращает:
true , если информация о службе доступна для service_type; false , если информация о запрошенном типе службы недоступна
См. также:
CORBA комментарии к пакету для нереализованных функций

create_dyn_any

@Deprecated
public DynAny create_dyn_any(Any value)

Устарело. Используйте новый API DynAnyFactory вместо этого

Создает новый объект DynAny из заданного объекта Any.

Параметры:
value - объект Any , из которого создать новый объект DynAny
Возвращает:
новый объект DynAny , созданный из заданного объекта Any
См. также:
CORBA комментарии к пакету для нереализованных функций

create_basic_dyn_any

@Deprecated
public DynAny create_basic_dyn_any(TypeCode type)
                                        throws InconsistentTypeCode

Устарело. Используйте новый API DynAnyFactory вместо этого

Создает базовый объект DynAny из заданного объекта TypeCode.

Параметры:
type - объект TypeCode , из которого создать новый объект DynAny
Возвращает:
новый объект DynAny , созданный из заданного объекта TypeCode
Исключения:
InconsistentTypeCode - если заданный объект TypeCode не соответствует операции.
См. также:
CORBA комментарии к пакету для нереализованных функций

create_dyn_struct

@Deprecated
public DynStruct create_dyn_struct(TypeCode type)
                                        throws InconsistentTypeCode

Устарело. Используйте новый API DynAnyFactory вместо этого

Создает новый объект DynStruct из заданного объекта TypeCode.

Параметры:
type - объект TypeCode , из которого создать новый объект DynStruct
Возвращает:
новый объект DynStruct , созданный из заданного объекта TypeCode
Исключения:
InconsistentTypeCode - если заданный объект TypeCode не соответствует операции.
См. также:
CORBA комментарии к пакету для нереализованных функций

create_dyn_sequence

@Deprecated
public DynSequence create_dyn_sequence(TypeCode type)
                                            throws InconsistentTypeCode

Устаревшее. Используйте новый API DynAnyFactory вместо этого

Создаёт новый объект DynSequence из заданного объекта TypeCode.

Параметры:
type - объект TypeCode, из которого необходимо создать новый объект DynSequence
Возвращает:
новый объект DynSequence, созданный из заданного объекта TypeCode
Исключения:
InconsistentTypeCode - если заданный объект TypeCode не соответствует операции.
См. также:
CORBA комментарии к пакету для функций, которые не реализованы

create_dyn_array

@Deprecated
public DynArray create_dyn_array(TypeCode type)
                                      throws InconsistentTypeCode

Устаревшее. Используйте новый API DynAnyFactory вместо этого

Создаёт новый объект DynArray из заданного объекта TypeCode.

Параметры:
type - объект TypeCode, из которого необходимо создать новый объект DynArray
Возвращает:
новый объект DynArray, созданный из заданного объекта TypeCode
Исключения:
InconsistentTypeCode - если заданный объект TypeCode не соответствует операции.
См. также:
CORBA комментарии к пакету для функций, которые не реализованы

create_dyn_union

@Deprecated
public DynUnion create_dyn_union(TypeCode type)
                                      throws InconsistentTypeCode

Устаревшее. Используйте новый API DynAnyFactory вместо этого

Создаёт новый объект DynUnion из заданного объекта TypeCode.

Параметры:
type - объект TypeCode, из которого необходимо создать новый объект DynUnion
Возвращает:
новый объект DynUnion, созданный из заданного объекта TypeCode
Исключения:
InconsistentTypeCode - если заданный объект TypeCode не соответствует операции.
См. также:
CORBA комментарии к пакету для функций, которые не реализованы

create_dyn_enum

@Deprecated
public DynEnum create_dyn_enum(TypeCode type)
                                    throws InconsistentTypeCode

Устаревшее. Используйте новый API DynAnyFactory вместо этого

Создаёт новый объект DynEnum из заданного объекта TypeCode.

Параметры:
type - объект TypeCode, из которого необходимо создать новый объект DynEnum
Возвращает:
новый объект DynEnum, созданный из заданного объекта TypeCode
Исключения:
InconsistentTypeCode - если заданный объект TypeCode не соответствует операции.
См. также:
CORBA комментарии к пакету для функций, которые не реализованы

create_policy

public Policy create_policy(int type,
                            Any val)
                     throws PolicyError

Может быть вызван для создания новых экземпляров объектов политики определённого типа с указанным начальным состоянием. Если create_policy не удаётся создать новый объект Policy из-за неспособности интерпретировать запрашиваемый тип и содержимое политики, он поднимает исключение PolicyError с соответствующим объяснением.

Параметры:
type - тип объекта политики, который должен быть создан
val - значение, которое будет использоваться для установки начального состояния объекта Policy, который создаётся
Возвращает:
Ссылка на новый созданный объект Policy типа, указанного параметром type, и инициализированный состоянием, указанным параметром val
Исключения:
org.omg.CORBA.PolicyError - когда запрашиваемая политика не поддерживается или запрашиваемое начальное состояние для политики не поддерживается.
PolicyError

© 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