public interface ServerRequestInfoOperations extends RequestInfoOperations
Некоторые атрибуты и операции на ServerRequestInfo не допустимы во всех точках перехвата. Следующая таблица показывает законность каждого атрибута или работы. Если это не будет допустимо, то пытаясь получить доступ к этому приведет к a BAD_INV_ORDER будучи брошенным со стандартным незначительным кодом 14.
| receive_request_ service_contexts |
receive_request | send_reply | send_exception | send_other | |
|---|---|---|---|---|---|
| Наследованный от RequestInfo: | |||||
request_id |
да | да | да | да | да |
работа |
да | да | да | да | да |
параметры |
нет | yes1 | да | no2 | no2 |
исключения |
нет | да | да | да | да |
контексты |
нет | да | да | да | да |
operation_context |
нет | да | да | нет | нет |
результат |
нет | нет | да | нет | нет |
response_expected |
да | да | да | да | да |
sync_scope |
да | да | да | да | да |
| request_id | да | да | да | да | да |
| работа | да | да | да | да | да |
| параметры | нет | yes1 | да | no2 | no2 |
| исключения | нет | да | да | да | да |
| контексты | нет | да | да | да | да |
| operation_context | нет | да | да | нет | нет |
| результат | нет | нет | да | нет | нет |
| response_expected | да | да | да | да | да |
| sync_scope | да | да | да | да | да |
| reply_status | нет | нет | да | да | да |
| forward_reference | нет | нет | нет | нет | yes2 |
| get_slot | да | да | да | да | да |
| get_request_service_context | да | нет | да | да | да |
| get_reply_service_context | нет | нет | да | да | да |
| ServerRequestInfo-специфичный: | |||||
| sending_exception | нет | нет | нет | да | нет |
| object_id | нет | да | да | yes3 | yes3 |
| adapter_id | нет | да | да | yes3 | yes3 |
| server_id | нет | да | да | да | да |
| orb_id | нет | да | да | да | да |
| adapter_name | нет | да | да | да | да |
| target_most_derived_interface | нет | да | no4 | no4 | no4 |
| get_server_policy | да | да | да | да | да |
| set_slot | да | да | да | да | да |
| target_is_a | нет | да | no4 | no4 | no4 |
| add_reply_service_context | да | да | да | да | да |
ServerRequestInfo к передают receive_request, есть запись в списке для каждого параметра, ли в, inout, или. Но только в и inout параметры будет доступно.reply_status атрибут не LOCATION_FORWARD, доступ к этому атрибуту бросит BAD_INV_ORDER со стандартным незначительным кодом 14.NO_RESOURCES со стандартным незначительным кодом 1 будет брошен, если это не будет доступно.ServantLocator, тогда ШАР вызывает точку перехвата после того, как это вызывает ServantLocator.postinvoke()ServerRequestInterceptor| Модификатор и Тип | Метод и Описание |
|---|---|
byte[] |
adapter_id()
Возвращает непрозрачный идентификатор для объектного адаптера.
|
Строка[] |
adapter_name()
Возвращает последовательность строк, которая идентифицирует объектный экземпляр адаптера, который обрабатывает этот запрос.
|
void |
add_reply_service_context(ServiceContext service_context, boolean replace)
Позволяет Перехватчикам добавлять контексты службы к запросу.
|
Политика |
get_server_policy(int type)
Возвращает политику в действительности для этой работы для данного типа политики.
|
byte[] |
object_id()
Возвращает непрозрачное
object_id описание цели вызова работы. |
Строка |
orb_id()
Возвращает ID, который использовался, чтобы создать ШАР.
|
Любой |
sending_exception()
Возвращает любого, который содержит исключение, которое будет возвращено клиенту.
|
Строка |
server_id()
Возвращает ID сервера, который был определен на ШАРЕ:: init использование-ORBServerId параметра.
|
void |
set_slot(int id, Any data)
Позволяет Перехватчику устанавливать слот в
PortableInterceptor.Current это в пределах запроса. |
boolean |
target_is_a(String id)
Возвращает true, если слуга является данным идентификатором репозитария, ложь, если это не.
|
Строка |
target_most_derived_interface()
Возвращает идентификатор репозитария для наиболее полученного интерфейса слуги.
|
arguments, contexts, exceptions, forward_reference, get_reply_service_context, get_request_service_context, get_slot, operation_context, operation, reply_status, request_id, response_expected, result, sync_scopeAny sending_exception()
Если исключение является пользовательским исключением, которое не может быть вставлено в любого (например, это неизвестно, или привязка не обеспечивает TypeCode), тогда этот атрибут будет любым, содержащим системное исключение UNKNOWN со стандартным незначительным кодом 1.
byte[] object_id()
object_id описание цели вызова работы.byte[] adapter_id()
String server_id()
String orb_id()
String[] adapter_name()
String target_most_derived_interface()
Policy get_server_policy(int type)
CORBA.Policy объект должен только быть политикой, тип которой был зарегистрирован через register_policy_factory.type - CORBA.PolicyType который определяет политику, которая будет возвращена.CORBA.Policy полученный с данным типом политики.INV_POLICY - брошенный, со стандартным незначительным кодом 2, если политика для данного типа не была зарегистрирована через register_policy_factory.ORBInitInfoOperations.register_policy_factory(int, org.omg.PortableInterceptor.PolicyFactory)void set_slot(int id,
Any data)
throws InvalidSlot
PortableInterceptor.Current это в пределах запроса. Если данные уже будут существовать в том слоте, то они будут перезаписаны.id - Идентификатор слота.data - Данные, в форме любого, чтобы сохранить в том слоте.InvalidSlot - брошенный, если ID не определяет выделенный слот.Currentboolean target_is_a(String id)
id - Вызывающая сторона хочет знать, является ли слуга этим идентификатором репозитария.void add_reply_service_context(ServiceContext service_context, boolean replace)
Нет никакого объявления порядка контекстов службы. Они могут или, возможно, не появляются в порядке, что они добавляются.
service_context - IOP.ServiceContext добавить к ответу.replace - Указывает на поведение этой работы, когда контекст службы уже существует с данным ID. Если ложь, то BAD_INV_ORDER со стандартным незначительным кодом 15 бросается. Если это правда, тогда существующий контекст службы заменяется новым.BAD_INV_ORDER - брошенный, со стандартным незначительным кодом 15, если замена является ложью и контекстом службы уже, существует с данным ID.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92