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_scope
Any 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 не определяет выделенный слот.Current
boolean 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