Интерфейс ClientRequestInfoOperations
- Все суперинтерфейсы:
- RequestInfoOperations
- Все известные подинтерфейсы:
- ClientRequestInfo
public interface ClientRequestInfoOperations extends RequestInfoOperations
Информация о запросе, доступная для интерцепторов запросов на стороне клиента.
Некоторые атрибуты и операции с ClientRequestInfo не допустимы во всех точках интерцепции. В следующей таблице показана допустимость каждого атрибута или операции. Если она недопустима, попытка доступа к нему приведет к тому, что будет брошено BAD_INV_ORDER со стандартным кодом ошибки 14.
| send_request | send_poll | receive_reply | receive_exception | receive_other | |
|---|---|---|---|---|---|
| Унаследовано от RequestInfo: | |||||
request_id | да | да | да | да | да |
operation | да | да | да | да | да |
arguments | да1 | нет | да | нет | нет |
exceptions | да | нет | да | да | да |
contexts | да | нет | да | да | да |
operation_context | да | нет | да | да | да |
result | нет | нет | да | нет | нет |
response_expected | да | да | да | да | да |
sync_scope | да | нет | да | да | да |
reply_status | нет | нет | да | да | да |
forward_reference | нет | нет | нет | нет | да2 |
get_slot | да | да | да | да | да |
get_request_service_context | да | нет | да | да | да |
get_reply_service_context | нет | нет | да | да | да |
| Специфичные для ClientRequestInfo: | |||||
target | да | да | да | да | да |
effective_target | да | да | да | да | да |
effective_profile | да | да | да | да | да |
received_exception | нет | нет | нет | да | нет |
received_exception_id | нет | нет | нет | да | нет |
get_effective_component | да | нет | да | да | да |
get_effective_components | да | нет | да | да | да |
get_request_policy | да | нет | да | да | да |
add_request_service_context | да | нет | нет | нет | нет |
- При передаче
ClientRequestInfoвsend_request, в списке есть запись для каждого аргумента, будь то входной, входно-выходной или выходной. Но доступны только входные и входно-выходные аргументы. - Если атрибут
reply_statusнеLOCATION_FORWARD, доступ к этому атрибуту приведет к броскуBAD_INV_ORDERсо стандартным кодом ошибки 14.
- См. также:
ClientRequestInterceptor
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
add_request_service_context(ServiceContext service_context,
boolean replace) Позволяет интерцепторам добавлять контексты службы в запрос. |
TaggedProfile |
effective_profile() Возвращает профиль, который будет использован для отправки запроса. |
Object |
effective_target() Возвращает фактический объект, на котором будет вызван метод. |
TaggedComponent |
get_effective_component(int id) Возвращает |
TaggedComponent[] |
get_effective_components(int id) Возвращает массив всех помеченных компонентов с заданным идентификатором из профиля, выбранного для этого запроса. |
Policy |
get_request_policy(int type) Возвращает указанную политику, действующую для этой операции. |
String |
received_exception_id() Возвращает идентификатор хранилища исключения, которое будет возвращено клиенту. |
Any |
received_exception() Возвращает any, содержащий исключение, которое будет возвращено клиенту. |
Object |
target() Возвращает объект, который клиент вызвал для выполнения операции. |
Методы, унаследованные от интерфейса org.omg.PortableInterceptor.RequestInfoOperations
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 Методы
target
Object target()
Возвращает объект, к которому клиент обратился для выполнения операции.
- См. также:
effective_target()
effective_target
Object effective_target()
Возвращает фактический объект, к которому будет применена операция. Если reply_status является LOCATION_FORWARD, то в последующих запросах effective_target будет содержать перенаправленный IOR, в то время как target останется неизменным.
- См. также:
target()
effective_profile
TaggedProfile effective_profile()
Возвращает профиль, который будет использоваться для отправки запроса. Если для объекта этой операции произошло перенаправление расположения и профиль этого объекта соответственно изменился, то этот профиль будет профилем, расположенным по этому адресу.
received_exception
Any received_exception()
Возвращает any, содержащий исключение, которое должно быть возвращено клиенту.
Если исключение является пользовательским исключением, которое не может быть вставлено в any (например, оно неизвестно или привязки не предоставляют TypeCode), то этот атрибут будет содержать any с системным исключением UNKNOWN со стандартным кодом ошибки 1. Однако идентификатор хранилища исключения доступен в атрибуте received_exception_id.
- См. также:
received_exception_id()
received_exception_id
String received_exception_id()
Возвращает идентификатор хранилища исключения, которое должно быть возвращено клиенту.
- См. также:
-
received_exception(),PortableInterceptorкомментарии к пакету о ограничениях/нереализованных функциях
get_effective_component
TaggedComponent get_effective_component(int id)
Возвращает IOP.TaggedComponent с заданным идентификатором из профиля, выбранного для этого запроса.
Если для данного идентификатора компонента существует более одного компонента, то не определено, какой компонент возвращает эта операция. Если для данного идентификатора компонента существует более одного компонента, то следует вызвать get_effective_components вместо этого.
- Параметры:
-
id- Идентификатор компонента компонента, который должен быть возвращен. - Возвращает:
- Полученный
IOP.TaggedComponentс заданным идентификатором. - Изначает:
-
BAD_PARAM- выброшен, со стандартным кодом ошибки 28, если для данного идентификатора компонента не существует компонента. - См. также:
get_effective_components(int)
get_effective_components
TaggedComponent[] get_effective_components(int id)
Возвращает массив всех помеченных компонентов с заданным идентификатором из профиля, выбранного для этого запроса.
- Параметры:
-
id- Идентификатор компонентов, которые должны быть возвращены. - Возвращает:
- Массив объектов
TaggedComponent, каждый из которых содержит заданный идентификатор. - Изначает:
-
BAD_PARAM- выброшен, со стандартным кодом ошибки 28, если для данного идентификатора компонента не существует компонента. - См. также:
get_effective_component(int)
get_request_policy
Policy get_request_policy(int type)
Возвращает заданную политику, действующую для этой операции.
- Параметры:
-
type- Тип политики, определяющий политику, которая должна быть возвращена. - Возвращает:
- Полученную
CORBA.Policyс заданным типом. - Изначает:
-
INV_POLICY- выброшен, со стандартным кодом ошибки 1, если тип политики недействителен, либо потому что указанный тип не поддерживается этим ORB, либо потому что объект политики этого типа не связан с этим объектом. - См. также:
-
PortableInterceptorкомментарии к пакету о ограничениях/нереализованных функциях
add_request_service_context
void add_request_service_context(ServiceContext service_context,
boolean replace) Позволяет интерцепторам добавлять контексты служб в запрос.
Порядок контекстов служб не объявлен. Они могут или не могут отображаться в том порядке, в котором они были добавлены.
- Параметры:
-
service_context-IOP.ServiceContextдля добавления в запрос. -
replace- Указывает поведение этой операции, когда контекст службы с заданным идентификатором уже существует. Если false, тоBAD_INV_ORDERс стандартным кодом ошибки 15 выброшен. Если true, то существующий контекст службы заменяется новым.
© 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.