|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class ORB extends Object
ORB class также обеспечивает "сменные API" реализации ШАРА, которые позволяют реализации ШАРА другого поставщика использоваться. ШАР позволяет объектам CORBA связаться друг с другом, соединяя объекты, делающие запросы (клиенты) с объектами, обслуживающими запросы (серверы).
ORB class, который инкапсулирует универсальную функциональность CORBA, делает следующее: (Отметьте, что элементы 5 и 6, которые включают большинство методов в class ORB, обычно используются с Dynamic Invocation Interface (DII) и Dynamic Skeleton Interface (DSI). Эти интерфейсы могут использоваться разработчиком непосредственно, но обычно они используются ШАРОМ внутренне и не замечаются общим программистом.)
resolve_initial_references
TypeCode
Any
NamedValue
Context
Environment
NVList) содержа эти объекты ORB class может использоваться, чтобы получить ссылки на объекты, реализованные где угодно на сети.
Приложение или апплет получают доступ к среде CORBA, инициализируя себя в ORB использование одного из три init методы. Два из этих трех методов используют свойства (ассоциации имени со значением) показанный в таблице ниже.
| Имя свойства | Значение свойства |
|---|---|
| org.omg. CORBA.ORBClass | Имя class реализации ШАРА |
| org.omg. CORBA.ORBSingletonClass | Имя class ШАРА, возвращенного init() |
Эти свойства позволяют различному поставщику ORB реализация, которая будет "включена."
Когда экземпляр ШАРА создается, имя class реализации ШАРА располагается, используя следующий стандартный порядок поиска:
Отметьте, что IDL Java обеспечивает реализацию по умолчанию для полностью функционального ШАРА и для ШАРА Singleton. Когда метод init не дается параметров, ШАР Singleton значения по умолчанию возвращается. Когда метод init дается параметры, но никакой ШАР, class определяется, реализация ШАРА IDL Java возвращается.
Следующий фрагмент кода создает ORB объект инициализируется с Singleton ШАРА значения по умолчанию. У этого ШАРА есть ограниченная реализация, чтобы препятствовать тому, чтобы злонамеренные апплеты делали что-либо вне создания typecodes. Это вызывают одиночным элементом, потому что есть только один экземпляр для всей виртуальной машины.
ORB orb = ORB.init();
Следующий фрагмент кода создает ORB объект для приложения. Параметр args представляет параметры, предоставленные приложению main метод. Так как свойство определяет ШАР class, чтобы быть "SomeORBImplementation", новый ШАР будет инициализирован с той реализацией ШАРА. Если бы p был нулем, и параметры не определили ШАР class, то новый ШАР был бы инициализирован с реализацией IDL Java значения по умолчанию.
Properties p = new Properties();
p.put("org.omg.CORBA.ORBClass", "SomeORBImplementation");
ORB orb = ORB.init(args, p);
Следующий фрагмент кода создает ORB объект для апплета, предоставленного как первый параметр. Если данный апплет не определит ШАР class, то новый ШАР будет инициализирован с реализацией IDL Java значения по умолчанию.
ORB orb = ORB.init(myApplet, null);
Приложение или апплет могут быть инициализированы в одном или более ШАРАХ. Инициализация ШАРА является вызовом начальной загрузки в мир CORBA.
| Конструктор и Описание |
|---|
ORB() |
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
connect(Object obj)
Соединяет данный объект слуги (объект Java, который является экземпляром реализации сервера class) к ШАРУ.
|
TypeCode |
create_abstract_interface_tc(String id, String name)
Создайте a
TypeCode объект для интерфейса краткого обзора IDL. |
abstract TypeCode |
create_alias_tc(String id, String name, TypeCode original_type)
Создает a
TypeCode объект, представляющий IDL alias (typedef). |
abstract Any |
create_any()
Создает IDL
Any объект, инициализированный, чтобы содержать a Typecode объект, чей kind поле устанавливается в TCKind.tc_null. |
abstract TypeCode |
create_array_tc(int length, TypeCode element_type)
Создает a
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)
Создает a
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)
Создает a
TypeCode объект, представляющий IDL exception. |
TypeCode |
create_fixed_tc(short digits, short scale)
Создайте a
TypeCode объект для IDL фиксированный тип. |
abstract TypeCode |
create_interface_tc(String id, String name)
Создает a
TypeCode объект, представляющий IDL interface. |
abstract NVList |
create_list(int count)
Выделяет
NVList с достаточно (вероятно), располагают с интервалами для конкретного количества NamedValue объекты. |
abstract NamedValue |
create_named_value(String s, Any any, int flags)
Создает a
NamedValue объект используя имя, значение, и флаги режима параметра. |
TypeCode |
create_native_tc(String id, String name)
Создайте a
TypeCode объект для IDL собственный тип. |
NVList |
create_operation_list(Object oper)
Создает
NVList инициализированный с описаниями параметра для работы описывается в данном OperationDef объект. |
abstract OutputStream |
create_output_stream()
Создает новое
org.omg.CORBA.portable.OutputStream в который параметры метода IDL могут быть упорядочены во время вызова метода. |
Политика |
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)
Создает a
TypeCode объект, представляющий IDL sequence. |
abstract TypeCode |
create_string_tc(int bound)
Создает a
TypeCode объект, представляющий ограниченный IDL string. |
abstract TypeCode |
create_struct_tc(String id, String name, StructMember[] members)
Создает a
TypeCode объект, представляющий IDL struct. |
abstract TypeCode |
create_union_tc(String id, String name, TypeCode discriminator_type, UnionMember[] members)
Создает a
TypeCode объект, представляющий IDL union. |
TypeCode |
create_value_box_tc(String id, String name, TypeCode boxed_type)
Создает a
TypeCode объект для IDL оценивает поле. |
TypeCode |
create_value_tc(String id, String name, short type_modifier, TypeCode concrete_base, ValueMember[] members)
Создайте a
TypeCode объект для IDL оценивает тип. |
abstract TypeCode |
create_wstring_tc(int bound)
Создает a
TypeCode объект, представляющий ограниченный IDL wstring (широкая строка). |
void |
destroy()
Уничтожает ШАР так, чтобы его ресурсы могли быть исправлены.
|
void |
disconnect(Object obj)
Разъединяет данный объект слуги от ШАРА.
|
Ток |
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, которые поддерживаются этим ШАРОМ.
|
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()
Эта работа блокирует текущий поток, пока ШАР не завершил процесс завершения работы, инициируемый, когда некоторый поток вызывает
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)
Позволяет реализации ШАРА быть инициализированной с данным апплетом и параметрами.
|
protected abstract void |
set_parameters(String[] args, Properties props)
Позволяет реализации ШАРА быть инициализированной с данными параметрами и свойствами.
|
void |
shutdown(boolean wait_for_completion)
Дает ШАРУ КОМАНДУ завершать работу, который заставляет все объектные адаптеры завершать работу в подготовке к разрушению.
Если wait_for_completion параметр является истиной, эта работа блоки, пока вся обработка ШАРА (включая обработку в настоящий момент выполнения запросов, объектной дезактивации, и других объектных операций адаптера) не завершилась. |
abstract Object |
string_to_object(String str)
Преобразовывает строку, произведенную методом
object_to_string назад к ссылке на объект CORBA. |
boolean |
work_pending()
Возвраты
true если ШАР нуждается в основном потоке, чтобы выполнить некоторую работу, и false если ШАР не нуждается в основном потоке. |
public static ORB init()
ORB одноэлементный объект. Этот метод всегда возвращает тот же самый экземпляр ШАРА, который является экземпляром class, описанного org.omg.CORBA.ORBSingletonClass системное свойство. Эта версия без параметров метода init используется прежде всего в качестве фабрики для TypeCode объекты, которые используются Helper классы, чтобы реализовать метод type. Это также используется, чтобы создать Any объекты, которые используются, чтобы описать union метки (как часть создания a TypeCode объект для a union).
Этот метод не предназначается, чтобы использоваться апплетами, и когда его вызывают в среде апплета, ШАР, который он возвращает, ограничивается так, чтобы он мог использоваться только в качестве фабрики для TypeCode объекты. Любой TypeCode объекты это продукты могут быть безопасно совместно использованы среди недоверяемых апплетов.
Если ШАР будет создаваться, используя этот метод из апплета, то системное исключение будет выдано если методы кроме тех для того, чтобы создать TypeCode объекты вызываются.
public static ORB init(String[] args, Properties props)
ORB экземпляр для автономного приложения. Этот метод можно вызвать из приложений только и возвращает новое полностью функциональное ORB возразите каждый раз, когда это вызывают.args - параметры командной строки для приложения main метод; может быть nullprops - специализированные свойства; может быть nullpublic static ORB init(Applet app, Properties props)
ORB экземпляр для апплета. Этот метод можно вызвать от апплетов только и возвращает новое полностью функциональное ORB возразите каждый раз, когда это вызывают.app - апплет; может быть nullprops - специфичные для апплета свойства; может быть nullprotected abstract void set_parameters(String[] args, Properties props)
init метод, чтобы передать в его параметрах.args - параметры командной строки для приложения main метод; может быть nullprops - специализированные свойства; может быть nullprotected abstract void set_parameters(Applet app, Properties props)
init метод, чтобы передать в его параметрах.app - апплет; может быть nullprops - специфичные для апплета свойства; может быть nullpublic void connect(Object obj)
ImplBase class, соответствующий интерфейсу, который поддерживается сервером. Слуга должен таким образом быть ссылкой на объект CORBA, и наследоваться от org.omg.CORBA.Object. Слуги, создаваемые пользователем, могут начать получать удаленные вызовы после метода connect был вызван. Слуга может также быть автоматически и неявно соединен с ШАРОМ, если его передают как параметр IDL в вызове метода IDL на нелокальном объекте, то есть, если объект слуги должен быть упорядочен и отправлен за пределами адресного пространства процесса. Вызов метода connect не имеет никакого эффекта, когда объект слуги уже соединяется с ШАРОМ.
Осуждаемый OMG в пользу Переносимых Объектных API Адаптера.
obj - Ссылка на объект слугиpublic void destroy()
OBJECT_NOT_EXIST исключение. Как только ШАР был уничтожен, другой звонок init с тем же самым ORBid возвратит ссылку на недавно созданный ШАР. Если destroy вызывается на ШАРЕ, который не был выключен, он запустит выключенный процесс и блок, пока ШАР не завершил работу прежде, чем он уничтожит ШАР.
Если приложение вызывает destroy в потоке, который в настоящий момент обслуживает вызов, BAD_INV_ORDER системное исключение будет выдано с OMG незначительный код 3, так как блокирование привело бы к мертвой блокировке.
Для максимальной мобильности и избегать утечек ресурсов, приложение должно всегда вызывать shutdown и destroy на всех экземплярах ШАРА перед выходом.
BAD_INV_ORDER - если текущий поток обслуживает вызовpublic void disconnect(Object obj)
org.omg.CORBA.OBJECT_NOT_EXIST назад удаленному клиенту. Таким образом объект, кажется, уничтожается с точки зрения удаленных клиентов. Отметьте, однако, что локальные запросы вышли, использование слуги непосредственно не проходят через ШАР; следовательно, они будут продолжать обрабатываться слугой. Вызов метода disconnect не имеет никакого эффекта, если слуга не соединяется с ШАРОМ.
Осуждаемый OMG в пользу Переносимых Объектных API Адаптера.
obj - Объект слуги, который будет разъединен от ШАРАpublic abstract String[] list_initial_services()
String объекты, которые представляют ссылки на объект для служб CORBA, которые первоначально доступны с этим ШАРОМpublic abstract Object resolve_initial_references(String object_name) throws InvalidName
object_name - имя начальной службы как строкаInvalidName - если имя не связывается с известной службойpublic abstract String object_to_string(Object obj)
Получающееся String объект может храниться или передан всегда это a String объектом можно управлять.
obj - ссылка на объект на stringifypublic abstract Object string_to_object(String str)
object_to_string назад к ссылке на объект CORBA.str - строка, которая будет преобразована назад в ссылку на объект. Это должен быть результат преобразования ссылки на объект на строку, используя метод object_to_string.public abstract NVList create_list(int count)
NVList с достаточно (вероятно), располагают с интервалами для конкретного количества NamedValue объекты. Отметьте, что указанный размер является только подсказкой, чтобы помочь с выделением хранения и не подразумевает максимальный размер списка.count - предложенное число NamedValue объекты, для которых можно выделить местоNVListNVListpublic NVList create_operation_list(Object oper)
NVList инициализированный с описаниями параметра для работы описывается в данном OperationDef объект. Это OperationDef объект получается из Репозитария Интерфейса. Параметры в возвращенном NVList объект находится в том же самом порядке как в исходном определении работы IDL, которое позволяет списку использоваться в динамических запросах вызова.oper - OperationDef возразите, чтобы использовать, чтобы создать списокNVList объект, содержащий описания параметров методу, описывается в данном OperationDef объектNVListpublic abstract NamedValue create_named_value(String s, Any any, int flags)
NamedValue объект используя имя, значение, и флаги режима параметра. A NamedValue объект служит (1) параметр или возвращаемое значение или (2) свойство контекста. Это может использоваться отдельно или в качестве элемента в NVList объект.
s - имя NamedValue объектany - Any значение, которое будет вставлено в NamedValue объектflags - режим параметра отмечает для NamedValue: один из ARG_IN.value, ARG_OUT.value, или ARG_INOUT.value.NamedValue объектNamedValuepublic abstract ExceptionList create_exception_list()
ExceptionList объект.ExceptionList объектpublic abstract ContextList create_context_list()
ContextList объект.ContextList объектContextList, Contextpublic abstract Context get_default_context()
Context объект.Context объектContextpublic abstract Environment create_environment()
Environment объект.Environment объектEnvironmentpublic abstract OutputStream create_output_stream()
org.omg.CORBA.portable.OutputStream в который параметры метода IDL могут быть упорядочены во время вызова метода.org.omg.CORBA.portable.OutputStream объектpublic abstract void send_multiple_requests_oneway(Request[] req)
req - массив объектов запросаpublic abstract void send_multiple_requests_deferred(Request[] req)
req - массив Request объектыpublic abstract boolean poll_next_response()
true если есть доступный ответ; false иначеpublic abstract Request get_next_response() throws WrongTransaction
Request экземпляр, для которого был получен ответ.Request объект, готовый с ответомWrongTransaction - если метод get_next_response вызывается от области транзакций, отличающейся от того, от которого был отправлен исходный запрос. См. спецификацию Службы Транзакции OMG для деталей.public abstract TypeCode get_primitive_tc(TCKind tcKind)
TypeCode объект, который представляет данный примитивный тип IDL.tcKind - TCKind экземпляр, соответствующий требуемому типу примитиваTypeCode объектpublic abstract TypeCode create_struct_tc(String id, String name, StructMember[] members)
TypeCode объект, представляющий IDL struct. TypeCode объект инициализируется с данным идентификатором, именем, и элементами.id - идентификатор репозитария для structname - имя structmembers - массив, описывающий элементы structTypeCode объект, описывающий IDL structpublic abstract TypeCode create_union_tc(String id, String name, TypeCode discriminator_type, UnionMember[] members)
TypeCode объект, представляющий IDL union. TypeCode объект инициализируется с данным идентификатором, именем, типом различителя, и элементами.id - идентификатор репозитария unionname - имя uniondiscriminator_type - тип union различительmembers - массив, описывающий элементы unionTypeCode объект, описывающий IDL unionpublic abstract TypeCode create_enum_tc(String id, String name, String[] members)
TypeCode объект, представляющий IDL enum. TypeCode объект инициализируется с данным идентификатором, именем, и элементами.id - идентификатор репозитария для enumname - имя для enummembers - массив, описывающий элементы enumTypeCode объект, описывающий IDL enumpublic abstract TypeCode create_alias_tc(String id, String name, TypeCode original_type)
TypeCode объект, представляющий IDL alias (typedef). TypeCode объект инициализируется с данным идентификатором, именем, и исходным типом.id - идентификатор репозитария для псевдонимаname - имя для псевдонимаoriginal_type - TypeCode объект, описывающий исходный тип, для которого это - псевдонимTypeCode объект, описывающий IDL aliaspublic abstract TypeCode create_exception_tc(String id, String name, StructMember[] members)
TypeCode объект, представляющий IDL exception. TypeCode объект инициализируется с данным идентификатором, именем, и элементами.id - идентификатор репозитария для exceptionname - имя для exceptionmembers - массив, описывающий элементы exceptionTypeCode объект, описывающий IDL exceptionpublic abstract TypeCode create_interface_tc(String id, String name)
TypeCode объект, представляющий IDL interface. TypeCode объект инициализируется с данным идентификатором и именем.id - идентификатор репозитария для интерфейсаname - имя для интерфейсаTypeCode объект, описывающий IDL interfacepublic abstract TypeCode create_string_tc(int bound)
TypeCode объект, представляющий ограниченный IDL string. TypeCode объект инициализируется со связанным данным, который представляет максимальную длину строки. Нуль указывает, что строка, описанная этим кодом типа, неограниченна.bound - направляющееся в string; не может быть отрицательнымTypeCode объект, описывающий ограниченный IDL stringBAD_PARAM - если связано отрицательная величинаpublic abstract TypeCode create_wstring_tc(int bound)
TypeCode объект, представляющий ограниченный IDL wstring (широкая строка). TypeCode объект инициализируется со связанным данным, который представляет максимальную длину широкой строки. Нуль указывает, что строка, описанная этим кодом типа, неограниченна.bound - направляющееся в wstring; не может быть отрицательнымTypeCode объект, описывающий ограниченный IDL wstringBAD_PARAM - если связано отрицательная величинаpublic abstract TypeCode create_sequence_tc(int bound, TypeCode element_type)
TypeCode объект, представляющий IDL sequence. TypeCode объект инициализируется со связанным данным и тип элемента.bound - направляющееся в sequence, 0 если неограниченныйelement_type - TypeCode объект, описывающий элементы, содержавшиеся в sequenceTypeCode объект, описывающий IDL sequence@Deprecated public abstract TypeCode create_recursive_sequence_tc(int bound, int offset)
TypeCode объект, представляющий рекурсивный IDL sequence. Для IDL struct Узел в следующем фрагменте кода, параметр смещения для того, чтобы создать его последовательность был бы 1:
Struct Node {
long value;
Sequence <Node> subnodes;
};
bound - направляющееся в последовательность, 0 если неограниченныйoffset - индексирование к включению TypeCode объект, который описывает элементы этой последовательностиTypeCode объект, описывающий рекурсивную последовательностьcreate_recursive_tc, create_sequence_tcpublic abstract TypeCode create_array_tc(int length, TypeCode element_type)
TypeCode объект, представляющий IDL array. TypeCode объект инициализируется с данной длиной и типом элемента.length - длина arrayelement_type - a TypeCode объект, описывающий тип элемента, содержавшегося в arrayTypeCode объект, описывающий IDL arraypublic TypeCode create_native_tc(String id, String name)
TypeCode объект для IDL собственный тип.id - логический идентификатор для собственного типа.name - имя собственного типа.public TypeCode create_abstract_interface_tc(String id, String name)
TypeCode объект для интерфейса краткого обзора IDL.id - логический идентификатор для абстрактного типа интерфейса.name - имя абстрактного типа интерфейса.public TypeCode create_fixed_tc(short digits, short scale)
TypeCode объект для IDL фиксированный тип.digits - определяет общее количество десятичных цифр в числе и должен быть от 1 до 31 включительно.scale - определяет позицию десятичной точки.public TypeCode create_value_tc(String id, String name, short type_modifier, TypeCode concrete_base, ValueMember[] members)
TypeCode объект для IDL оценивает тип. concrete_base параметром является TypeCode для непосредственного бетона valuetype основа valuetype, для которого создается TypeCode. Это может быть нуль, если у valuetype нет конкретной основы.id - логический идентификатор для типа значения.name - имя типа значения.type_modifier - одно из значения вводит константы модификатора: VM_NONE, VM_CUSTOM, VM_ABSTRACT или VM_TRUNCATABLEconcrete_base - a TypeCode объект, описывающий бетон valuetype основаmembers - массив, содержащий элементы типа значенияpublic TypeCode create_recursive_tc(String id)
TypeCode объект, который служит заполнителем для конкретного TypeCode во время процесса создания TypeCodes, которые содержат рекурсию. Параметр идентификатора определяет идентификатор репозитария типа, для которого рекурсивный TypeCode служит заполнителем. Как только рекурсивный TypeCode был должным образом встроен во включение TypeCode, который соответствует указанному идентификатору репозитария, это будет функционировать как нормальный TypeCode. Вызов операций на рекурсивном TypeCode прежде, чем это было встроено во включение, TypeCode приведет к a BAD_TYPECODE исключение. Например, следующее описание типа IDL содержит рекурсию:
Struct Node {
Sequence<Node> subnodes;
};
Чтобы создать TypeCode для struct Узла, Вы вызвали бы операции создания 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;
};
Рекурсивные типы могут только появиться в пределах последовательностей, которые могут быть пустыми. Тем путем проблем маршалинга, передавая struct в Любом, избегают.
id - логический идентификатор типа, на который ссылаются,public TypeCode create_value_box_tc(String id, String name, TypeCode boxed_type)
TypeCode объект для IDL оценивает поле.id - логический идентификатор для типа значенияname - имя типа значенияboxed_type - TypeCode для типаpublic abstract Any create_any()
Any объект, инициализированный, чтобы содержать a Typecode объект, чей kind поле устанавливается в TCKind.tc_null.Any объект@Deprecated public Current get_current()
resolve_initial_references.Current объект. Current интерфейс используется, чтобы управлять специфичной для потока информацией для использования службами, такими как транзакции и безопасность.Current объектCORBA пакет комментирует для нереализованных функцийpublic void run()
shutdown. Это может использоваться многократными потоками, которые получают все уведомленные, когда ШАР завершает работу.public void shutdown(boolean wait_for_completion)
wait_for_completion параметр является истиной, эта работа блоки, пока вся обработка ШАРА (включая обработку в настоящий момент выполнения запросов, объектной дезактивации, и других объектных операций адаптера) не завершилась. Если приложение делает это в потоке, который в настоящий момент обслуживает вызов, BAD_INV_ORDER системное исключение будет выдано с OMG незначительный код 3, так как блокирование привело бы к мертвой блокировке.wait_for_completion параметр FALSE, тогда завершение работы, возможно, не завершилось по возврату. В то время как ШАР находится в процессе завершения работы, ШАР работает как нормальное, обслуживающее поступление и исходящие запросы, пока все запросы не были завершены. Как только у ШАРА есть завершение работы, только операции управления ссылкой на объект могут быть вызваны на ШАР или любую ссылку на объект, полученную из этого. Приложение может также вызвать destroy работа на ШАРЕ непосредственно. Вызов любой другой работы бросит BAD_INV_ORDER системное исключение с OMG незначительный код 4.
ORB.run метод возвратится после shutdown был вызван.
wait_for_completion - true если вызов должен блокировать, пока завершение работы не полно; false если это должно сразу возвратитьсяBAD_INV_ORDER - если текущий поток обслуживает вызовpublic boolean work_pending()
true если ШАР нуждается в основном потоке, чтобы выполнить некоторую работу, и false если ШАР не нуждается в основном потоке.true если есть ожидание работы, означая, что ШАР нуждается в основном потоке, чтобы выполнить некоторую работу; false если нет никакого ожидания работы, и таким образом ШАР не нуждается в основном потокеpublic void perform_work()
work_pending и perform_work может использоваться в соединении, чтобы реализовать простой цикл опроса, который мультиплексирует основной поток среди ШАРА и других действий.public boolean get_service_information(short service_type,
ServiceInformationHolder service_info)
service_type - a short указание на службу вводит, на который требуют информациюservice_info - a ServiceInformationHolder объект, который будет содержать ServiceInformation объект производится этим методомtrue если информация о службе доступна для service_type; false, если никакая информация для требуемого типа служб не доступнаCORBA пакет комментирует для нереализованных функций@Deprecated public DynAny create_dyn_any(Any value)
DynAny объект от данного Any объект. value - Any объект, из которого можно создать новое DynAny объектDynAny объект создается из данного Any объектCORBA пакет комментирует для нереализованных функций@Deprecated public DynAny create_basic_dyn_any(TypeCode type) throws InconsistentTypeCode
DynAny объект от данного TypeCode объект. type - TypeCode объект, из которого можно создать новое DynAny объектDynAny объект создается из данного TypeCode объектInconsistentTypeCode - если данный TypeCode объект не является непротиворечивым с работой.CORBA пакет комментирует для нереализованных функций@Deprecated public DynStruct create_dyn_struct(TypeCode type) throws InconsistentTypeCode
DynStruct объект от данного TypeCode объект. type - TypeCode объект, из которого можно создать новое DynStruct объектDynStruct объект создается из данного TypeCode объектInconsistentTypeCode - если данный TypeCode объект не является непротиворечивым с работой.CORBA пакет комментирует для нереализованных функций@Deprecated public DynSequence create_dyn_sequence(TypeCode type) throws InconsistentTypeCode
DynSequence объект от данного TypeCode объект. type - TypeCode объект, из которого можно создать новое DynSequence объектDynSequence объект создается из данного TypeCode объектInconsistentTypeCode - если данный TypeCode объект не является непротиворечивым с работой.CORBA пакет комментирует для нереализованных функций@Deprecated public DynArray create_dyn_array(TypeCode type) throws InconsistentTypeCode
DynArray объект от данного TypeCode объект. type - TypeCode объект, из которого можно создать новое DynArray объектDynArray объект создается из данного TypeCode объектInconsistentTypeCode - если данный TypeCode объект не является непротиворечивым с работой.CORBA пакет комментирует для нереализованных функций@Deprecated public DynUnion create_dyn_union(TypeCode type) throws InconsistentTypeCode
DynUnion объект от данного TypeCode объект. type - TypeCode объект, из которого можно создать новое DynUnion объектDynUnion объект создается из данного TypeCode объектInconsistentTypeCode - если данный TypeCode объект не является непротиворечивым с работой.CORBA пакет комментирует для нереализованных функций@Deprecated public DynEnum create_dyn_enum(TypeCode type) throws InconsistentTypeCode
DynEnum объект от данного TypeCode объект. type - TypeCode объект, из которого можно создать новое DynEnum объектDynEnum объект создается из данного TypeCode объектInconsistentTypeCode - если данный TypeCode объект не является непротиворечивым с работой.CORBA пакет комментирует для нереализованных функцийpublic Policy create_policy(int type, Any val) throws PolicyError
type - PolicyType политики возражает, чтобы быть созданнымval - значение, которое будет использоваться, чтобы установить начальное состояние объекта Policy, который создаетсяorg.omg.CORBA.PolicyError - когда требуемая политика не поддерживается, или требуемое начальное состояние для политики не поддерживается.PolicyError
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
ЧЕРНОВАЯ земля-b92