Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class ORB extends Object
ORB
класс также обеспечивает "сменные API" реализации ШАРА, которые позволяют реализации ШАРА другого поставщика использоваться. ШАР позволяет объектам CORBA связаться друг с другом, соединяя объекты, делающие запросы (клиенты) с объектами, обслуживающими запросы (серверы).
ORB
класс, который инкапсулирует универсальную функциональность CORBA, делает следующее: (Отметьте, что элементы 5 и 6, которые включают большинство методов в класс ORB
, обычно используются с Dynamic Invocation Interface
(DII) и Dynamic Skeleton Interface
(DSI). Эти интерфейсы могут использоваться разработчиком непосредственно, но обычно они используются ШАРОМ внутренне и не замечаются общим программистом.)
resolve_initial_references
TypeCode
Any
NamedValue
Context
Environment
NVList
) содержа эти объекты ORB
класс может использоваться, чтобы получить ссылки на объекты, реализованные где угодно в сети.
Приложение или апплет получают доступ к среде CORBA, инициализируя себя в ORB
использование одного из три init
методы. Два из этих трех методов используют свойства (ассоциации имени со значением) показанный в таблице ниже.
Имя свойства | Значение свойства |
---|---|
org.omg. CORBA.ORBClass | имя класса реализации ШАРА |
org.omg. CORBA.ORBSingletonClass | имя класса ШАРА, возвращенного init() |
Эти свойства позволяют различному поставщику ORB
реализация, которая будет "включена."
Когда экземпляр ШАРА создается, имя класса реализации ШАРА располагается, используя следующий стандартный поисковый порядок:
Отметьте, что IDL Java обеспечивает реализацию по умолчанию для полностью функционального ШАРА и для ШАРА Singleton. Когда метод init
не дается параметров, ШАР Singleton по умолчанию возвращается. Когда метод init
дается параметры, но никакой класс ШАРА не определяется, реализация ШАРА IDL Java возвращается.
Следующий фрагмент кода создает ORB
объект инициализируется с Singleton ШАРА по умолчанию. У этого ШАРА есть ограниченная реализация, чтобы препятствовать тому, чтобы злонамеренные апплеты делали что-либо вне создания typecodes. Это вызывают одиночным элементом, потому что есть только один экземпляр для всей виртуальной машины.
ORB orb = ORB.init();
Следующий фрагмент кода создает ORB
объект для приложения. Параметр args
представляет параметры, предоставленные приложению main
метод. Так как свойство определяет класс ШАРА, чтобы быть "SomeORBImplementation", новый ШАР будет инициализирован с той реализацией ШАРА. Если бы p был нулем, и параметры не определили класс ШАРА, то новый ШАР был бы инициализирован с реализацией IDL Java по умолчанию.
Properties p = new Properties(); p.put("org.omg.CORBA.ORBClass", "SomeORBImplementation"); ORB orb = ORB.init(args, p);
Следующий фрагмент кода создает ORB
объект для апплета, предоставленного как первый параметр. Если данный апплет не определит класс ШАРА, то новый ШАР будет инициализирован с реализацией IDL Java по умолчанию.
ORB orb = ORB.init(myApplet, null);
Приложение или апплет могут быть инициализированы в одном или более ШАРАХ. Инициализация ШАРА является вызовом начальной загрузки в мир CORBA.
Конструктор и Описание |
---|
ORB() |
Модификатор и Тип | Метод и Описание |
---|---|
void |
connect(Object obj)
Соединяет данный объект слуги (объект Java, который является экземпляром класса реализации сервера) к ШАРУ.
|
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
одноэлементный объект. Этот метод всегда возвращает тот же самый экземпляр ШАРА, который является экземпляром класса, описанного 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
метод; может быть null
props
- специализированные свойства; может быть null
public static ORB init(Applet app, Properties props)
ORB
экземпляр для апплета. Этот метод можно вызвать от апплетов только и возвращает новое полностью функциональное ORB
возразите каждый раз, когда это вызывают.app
- апплет; может быть null
props
- специфичные для апплета свойства; может быть null
protected abstract void set_parameters(String[] args, Properties props)
init
метод, чтобы передать в его параметрах.args
- параметры командной строки для приложения main
метод; может быть null
props
- специализированные свойства; может быть null
protected abstract void set_parameters(Applet app, Properties props)
init
метод, чтобы передать в его параметрах.app
- апплет; может быть null
props
- специфичные для апплета свойства; может быть null
public void connect(Object obj)
ImplBase
класс, соответствующий интерфейсу, который поддерживается сервером. Слуга должен таким образом быть ссылкой на объект 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
объекты, для которых можно выделить местоNVList
NVList
public NVList create_operation_list(Object oper)
NVList
инициализированный с описаниями параметра для работы описывается в данном OperationDef
объект. Это OperationDef
объект получается из Интерфейсного Репозитария. Параметры в возвращенном NVList
объект находится в том же самом порядке как в исходном определении работы IDL, которое позволяет списку использоваться в динамических запросах вызова.oper
- OperationDef
возразите, чтобы использовать, чтобы создать списокNVList
объект, содержащий описания параметров методу, описывается в данном OperationDef
объектNVList
public 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
объектNamedValue
public abstract ExceptionList create_exception_list()
ExceptionList
объект.ExceptionList
объектpublic abstract ContextList create_context_list()
ContextList
объект.ContextList
объектContextList
, Context
public abstract Context get_default_context()
Context
объект.Context
объектContext
public abstract Environment create_environment()
Environment
объект.Environment
объектEnvironment
public 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
- идентификатор репозитария для struct
name
- имя struct
members
- массив, описывающий элементы struct
TypeCode
объект, описывающий IDL struct
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
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
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
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
public abstract TypeCode create_interface_tc(String id, String name)
TypeCode
объект, представляющий IDL interface
. TypeCode
объект инициализируется с данным идентификатором и именем.id
- идентификатор репозитария для интерфейсаname
- имя для интерфейсаTypeCode
объект, описывающий IDL interface
public abstract TypeCode create_string_tc(int bound)
TypeCode
объект, представляющий ограниченный IDL string
. TypeCode
объект инициализируется со связанным данным, который представляет максимальную длину строки. Нуль указывает, что строка, описанная этим кодом типа, неограниченна.bound
- направляющееся в string
; не может быть отрицательнымTypeCode
объект, описывающий ограниченный IDL string
BAD_PARAM
- если связано отрицательная величинаpublic abstract TypeCode create_wstring_tc(int bound)
TypeCode
объект, представляющий ограниченный IDL wstring
(широкая строка). TypeCode
объект инициализируется со связанным данным, который представляет максимальную длину широкой строки. Нуль указывает, что строка, описанная этим кодом типа, неограниченна.bound
- направляющееся в wstring
; не может быть отрицательнымTypeCode
объект, описывающий ограниченный IDL wstring
BAD_PARAM
- если связано отрицательная величина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
@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_tc
public abstract TypeCode create_array_tc(int length, TypeCode element_type)
TypeCode
объект, представляющий IDL array
. TypeCode
объект инициализируется с данной длиной и типом элемента.length
- длина array
element_type
- a TypeCode
объект, описывающий тип элемента, содержавшегося в array
TypeCode
объект, описывающий IDL array
public 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 и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.