Интерфейс POAOperations
- Все известные дочерние интерфейсы:
- POA
public interface POAOperations
Объект POA управляет реализацией коллекции объектов. POA поддерживает пространство имён для объектов, которые идентифицируются с помощью идентификаторов объектов. POA также предоставляет пространство имён для POA. POA создаётся как дочерний элемент существующего POA, что образует иерархию, начинающуюся с корневого POA. Объект POA не должен экспортироваться в другие процессы или сериализоваться с помощью ORB::object_to_string.
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
activate_object_with_id(byte[] id,
Servant p_servant) Данная операция устанавливает ассоциацию между указанным идентификатором объекта и указанным сервером в карте активных объектов. |
byte[] |
activate_object(Servant p_servant) Эта операция генерирует идентификатор объекта и вводит идентификатор объекта и указанный сервер в карту активных объектов. |
IdAssignmentPolicy |
create_id_assignment_policy(IdAssignmentPolicyValue value) Эти операции возвращают ссылку на объект политики с указанным значением. |
IdUniquenessPolicy |
create_id_uniqueness_policy(IdUniquenessPolicyValue value) Эти операции возвращают ссылку на объект политики с указанным значением. |
ImplicitActivationPolicy |
create_implicit_activation_policy(ImplicitActivationPolicyValue value) Эти операции возвращают ссылку на объект политики с указанным значением. |
LifespanPolicy |
create_lifespan_policy(LifespanPolicyValue value) Эти операции возвращают ссылку на объект политики с указанным значением. |
POA |
create_POA(String adapter_name,
POAManager a_POAManager,
Policy[] policies) Эта операция создаёт новый POA как дочерний элемент целевого POA. |
Object |
create_reference_with_id(byte[] oid,
String intf) Эта операция создаёт ссылку на объект, которая инкапсулирует указанные значения идентификатора объекта и идентификатора репозитория интерфейса. |
Object |
create_reference(String intf) Эта операция создаёт ссылку на объект, которая инкапсулирует сгенерированный POA идентификатор объекта и указанный идентификатор репозитория интерфейса. |
RequestProcessingPolicy |
create_request_processing_policy(RequestProcessingPolicyValue value) Эти операции возвращают ссылку на объект политики с указанным значением. |
ServantRetentionPolicy |
create_servant_retention_policy(ServantRetentionPolicyValue value) Эти операции возвращают ссылку на объект политики с указанным значением. |
ThreadPolicy |
create_thread_policy(ThreadPolicyValue value) Эти операции возвращают ссылку на объект политики с указанным значением. |
void |
deactivate_object(byte[] oid) Эта операция приводит к деактивации ObjectId, указанного в параметре oid. |
void |
destroy(boolean etherealize_objects,
boolean wait_for_completion) Эта операция уничтожает POA и все дочерние POA. |
POA |
find_POA(String adapter_name,
boolean activate_it) Если целевой POA является родителем дочернего POA с указанным именем (относительно целевого POA), возвращается этот дочерний POA. |
ServantManager |
get_servant_manager() Если политика ServantRetentionPolicy POA равна RETAIN, то аргумент ServantManager (imgr) должен поддерживать интерфейс ServantActivator. |
Servant |
get_servant() Эта операция возвращает стандартный сервер, связанный с POA. |
Object |
id_to_reference(byte[] oid) Если активен объект с указанным значением Object Id, возвращается ссылка, содержащая информацию, используемую для активации объекта. |
Servant |
id_to_servant(byte[] oid) Если у POA установлена политика RETAIN и указанный ObjectId присутствует в карте активных объектов, эта операция возвращает сервер, связанный с этим объектом в карте активных объектов. |
byte[] |
id() Возвращает уникальный идентификатор POA в процессе, в котором он создан. |
byte[] |
reference_to_id(Object reference) Эта операция возвращает значение Object Id, инкапсулированное в указанной ссылке. |
Servant |
reference_to_servant(Object reference) Если у POA установлена политика RETAIN и указанный объект присутствует в карте активных объектов, эта операция возвращает сервер, связанный с этим объектом в карте активных объектов. |
byte[] |
servant_to_id(Servant p_servant) Эта операция имеет четыре возможных поведения. |
Object |
servant_to_reference(Servant p_servant) Эта операция требует политики RETAIN и либо политики UNIQUE_ID, либо IMPLICIT_ACTIVATION, если она вызвана вне контекста операции, обработанной этим POA. |
void |
set_servant_manager(ServantManager imgr) Эта операция устанавливает менеджер стандартных серверов, связанный с POA. |
void |
set_servant(Servant p_servant) Эта операция регистрирует указанный сервер в POA в качестве стандартного сервера. |
AdapterActivator |
the_activator() Этот атрибут идентифицирует активизатор адаптера, связанный с POA. |
void |
the_activator(AdapterActivator newThe_activator) Этот атрибут идентифицирует активизатор адаптера, связанный с POA. |
POA[] |
the_children() Этот атрибут идентифицирует текущий набор всех дочерних POA POA. |
String |
the_name() Этот атрибут идентифицирует POA относительно его родителя. |
POA |
the_parent() Этот атрибут идентифицирует родителя POA. |
POAManager |
the_POAManager() Этот атрибут идентифицирует менеджер POA, связанный с POA. |
Методы
create_POA
POA create_POA(String adapter_name,
POAManager a_POAManager,
Policy[] policies)
throws AdapterAlreadyExists,
InvalidPolicy Данная операция создает новый POA в качестве дочернего элемента целевого POA.
- Параметры:
-
adapter_name- идентифицирует новый POA по отношению к другим POA с тем же родительским POA. -
a_POAManager- указывает POA Manager, который будет связан с новым POA. -
policies- указывает объекты политики, которые будут связаны с POA для управления его поведением. - Исключения:
-
AdapterAlreadyExists- указывает, что целевой POA уже имеет дочерний POA с указанным именем. -
InvalidPolicy- возникает, если какой-либо из объектов политики не является допустимым для ORB, находится в конфликте или требует административного действия, которое не было выполнено.
find_POA
POA find_POA(String adapter_name,
boolean activate_it)
throws AdapterNonExistent Если целевой POA является родителем дочернего POA с указанным именем (относительно целевого POA), возвращается этот дочерний POA.
- Параметры:
-
adapter_name- имя POA для поиска. -
activate_it- если POA с указанным именем не существует, а значение параметра activate_it равно TRUE, вызывается AdapterActivator целевого POA (если он существует). - Возвращаемое значение:
- POA, если он существует или активирован AdapterActivator.
- Исключения:
AdapterNonExistent
destroy
void destroy(boolean etherealize_objects,
boolean wait_for_completion) Данная операция уничтожает POA и все дочерние POA. Все дочерние POA уничтожаются (рекурсивно) до уничтожения содержащего их POA. Уничтоженный POA (то есть POA с его именем) может быть повторно создан в этом же процессе.
- Параметры:
-
etherealize_objects- флаг, указывающий, требуется ли вызов операции etherealize на серверном менеджере. -
wait_for_completion- флаг, указывающий, нужно ли POA и его дочерним элементам ожидать активных запросов и завершения операция etherealization.
create_thread_policy
ThreadPolicy create_thread_policy(ThreadPolicyValue value)
Эти операции возвращают ссылку на объект политики с указанным значением.
- Параметры:
-
value- тип политики - Возвращаемое значение:
- Объект ThreadPolcy
create_lifespan_policy
LifespanPolicy create_lifespan_policy(LifespanPolicyValue value)
Эти операции возвращают ссылку на объект политики с указанным значением.
- Параметры:
-
value- тип политики - Возвращаемое значение:
- Объект LifespanPolicy.
create_id_uniqueness_policy
IdUniquenessPolicy create_id_uniqueness_policy(IdUniquenessPolicyValue value)
Эти операции возвращают ссылку на объект политики с указанным значением.
- Параметры:
-
value- тип политики - Возвращаемое значение:
- Объект IdUniquenessPolicy.
create_id_assignment_policy
IdAssignmentPolicy create_id_assignment_policy(IdAssignmentPolicyValue value)
Эти операции возвращают ссылку на объект политики с указанным значением.
- Параметры:
-
value- тип политики - Возвращаемое значение:
- Объект IdAssignmentPolicy.
create_implicit_activation_policy
ImplicitActivationPolicy create_implicit_activation_policy(ImplicitActivationPolicyValue value)
Эти операции возвращают ссылку на объект политики с указанным значением.
- Параметры:
-
value- тип политики - Возвращаемое значение:
- Объект ImplicitActivationPolicy.
create_servant_retention_policy
ServantRetentionPolicy create_servant_retention_policy(ServantRetentionPolicyValue value)
Эти операции возвращают ссылку на объект политики с указанным значением.
- Параметры:
-
value- тип политики - Возвращаемое значение:
- Объект ServantRetentionPolicy.
create_request_processing_policy
RequestProcessingPolicy create_request_processing_policy(RequestProcessingPolicyValue value)
Эти операции возвращают ссылку на объект политики с указанным значением.
- Параметры:
-
value- тип политики - Возвращаемое значение:
- Объект RequestProcessingPolicy.
the_name
String the_name()
Этот атрибут идентифицирует POA относительно его родителя. Это имя присваивается при создании POA.
the_parent
POA the_parent()
Этот атрибут идентифицирует родителя POA. Родитель корневого POA равен null.
the_children
POA[] the_children()
Этот атрибут идентифицирует текущий набор всех дочерних POA POA. Набор дочерних POA включает только непосредственных детей POA, а не их потомков.
the_POAManager
POAManager the_POAManager()
Этот атрибут идентифицирует POA менеджер, связанный с POA.
the_activator
AdapterActivator the_activator()
Этот атрибут идентифицирует активизатор адаптера, связанный с POA.
the_activator
void the_activator(AdapterActivator newThe_activator)
Этот атрибут идентифицирует активизатор адаптера, связанный с POA.
get_servant_manager
ServantManager get_servant_manager()
throws WrongPolicy Если ServantRetentionPolicy POA имеет значение RETAIN, то аргумент ServantManager (imgr) должен поддерживать интерфейс ServantActivator. Для политики NON_RETAIN ServantManager должен поддерживать интерфейс ServantLocator. Если аргумент равен null или не поддерживает требуемый интерфейс, то возникает исключение OBJ_ADAPTER.
- Возвращаемое значение:
- ServantManager, связанный с POA, или null, если он не существует.
- Исключения:
-
WrongPolicy- возникает, если политика USE_SERVANT_MANAGER не указана.
set_servant_manager
void set_servant_manager(ServantManager imgr)
throws WrongPolicy Данная операция устанавливает менеджер слуг по умолчанию, связанный с POA. Данную операцию можно вызвать только один раз после создания POA. Попытка установить менеджера слуг после того, как он уже был установлен, приведет к возникновению исключения BAD_INV_ORDER.
- Параметры:
-
imgr- менеджер слуг, который будет использоваться по умолчанию. - Исключения:
-
WrongPolicy- возникает, если политика USE_SERVANT_MANAGER не указана.
get_servant
Servant get_servant()
throws NoServant,
WrongPolicy Данная операция возвращает слугу по умолчанию, связанную с POA.
- Возвращаемое значение:
- p_servant слуга по умолчанию, связанная с POA.
- Исключения:
-
NoServant- возникает, если слуга по умолчанию не связана с POA. -
WrongPolicy- возникает, если политика USE_DEFAULT_SERVANT не указана.
set_servant
void set_servant(Servant p_servant)
throws WrongPolicy Данная операция регистрирует указанную слугу в POA в качестве слуги по умолчанию. Эта слуга будет использоваться для всех запросов, для которых слуга не найдена в Active Object Map.
- Параметры:
-
p_servant- слуга, которая будет использоваться по умолчанию. - Исключения:
-
WrongPolicy- возникает, если политика USE_DEFAULT_SERVANT не указана.
activate_object
byte[] activate_object(Servant p_servant)
throws ServantAlreadyActive,
WrongPolicy Данная операция генерирует Object Id и вводит Object Id и указанную слугу в Active Object Map.
- Параметры:
-
p_servant- слуга, которая должна быть связана с активируемым объектом. - Возвращаемое значение:
- сгенерированный POA object id.
- Исключения:
-
ServantAlreadyActive- возникает, если POA имеет политику UNIQUE_ID и слуга уже находится в Active Object Map. -
WrongPolicy- возникает, если политики SYSTEM_ID и RETAIN не указаны.
activate_object_with_id
void activate_object_with_id(byte[] id,
Servant p_servant)
throws ServantAlreadyActive,
ObjectAlreadyActive,
WrongPolicy Данная операция связывает указанный Object Id и указанную слугу в Active Object Map.
- Параметры:
-
id- object id для активируемого объекта. -
p_servant- слуга, которая должна быть связана с объектом. - Исключения:
-
ServantAlreadyActive- возникает, если POA имеет политику UNIQUE_ID и слуга уже находится в Active Object Map. -
ObjectAlreadyActive- возникает, если объект уже активирован в POA. -
WrongPolicy- возникает, если политика RETAIN не указана.
deactivate_object
void deactivate_object(byte[] oid)
throws ObjectNotActive,
WrongPolicy Данная операция приводит к деактивации ObjectId, указанного в параметре oid. ObjectId, который был деактивирован, продолжает обрабатывать запросы до тех пор, пока не останется активных запросов для этого ObjectId. Деактивированный ObjectId удаляется из Active Object Map, когда завершаются все запросы, выполняемые для этого ObjectId.
- Параметры:
-
oid- Object Id для деактивируемого объекта. - Исключения:
-
ObjectNotActive- если объект с указанным oid не находится в Active Object Map. -
WrongPolicy- возникает, если политика RETAIN не указана.
create_reference
Object create_reference(String intf)
throws WrongPolicy Данная операция создает ссылку на объект, которая инкапсулирует значение сгенерированного POA Object Id и указанный идентификатор хранилища интерфейса.
- Параметры:
-
intf- rep id для создания ссылки на объект. - Возвращаемое значение:
- ссылка на объект, созданная с использованием intf.
- Исключения:
-
WrongPolicy- если политика SYSTEM_ID не указана.
create_reference_with_id
Object create_reference_with_id(byte[] oid,
String intf) Данная операция создает ссылку на объект, которая инкапсулирует указанные значения Object Id и идентификатора хранилища интерфейса. Она не вызывает активации. Полученная ссылка может быть передана клиентам, так что последующие запросы по этим ссылкам приведут к активации объекта при необходимости или использованию слуги по умолчанию, в зависимости от применимых политик.
- Параметры:
-
oid- object id для создания objref -
intf- rep id для создания objref - Возвращаемое значение:
- ссылка на объект, созданная с использованием oid и intf
- Исключения:
-
BAD_PARAM- возникает, если POA имеет политику SYSTEM_ID и обнаруживает, что значение Object Id не было сгенерировано системой или для этого POA.
servant_to_id
byte[] servant_to_id(Servant p_servant)
throws ServantNotActive,
WrongPolicy Данная операция имеет четыре возможных варианта поведения. 1. Если POA имеет политику UNIQUE_ID и указанный слуга активен, возвращается Object Id, связанный с этим слугой. 2. Если POA имеет политику IMPLICIT_ACTIVATION и либо POA имеет политику MULTIPLE_ID, либо указанный слуга неактивен, слуга активируется с помощью сгенерированного POA Object Id и Interface Id, связанного со слугой, и возвращается этот Object Id. 3. Если POA имеет политику USE_DEFAULT_SERVANT, указанный слуга является слугой по умолчанию, и операция вызывается в контексте выполнения запроса на слугу по умолчанию, то возвращается ObjectId, связанный с текущим вызовом. 4. В противном случае генерируется исключение ServantNotActive.
- Параметры:
-
p_servant- слуга, для которого возвращается объект. - Возвращает:
- ObjectId, связанный со слугой.
- Вызывает исключения:
-
ServantNotActive- если вышеуказанные правила и сочетание политик не соблюдаются. -
WrongPolicy- если политика USE_DEFAULT_SERVANT или сочетание политик RETAIN и либо UNIQUE_ID, либо IMPLICIT_ACTIVATION отсутствуют.
servant_to_reference
Object servant_to_reference(Servant p_servant)
throws ServantNotActive,
WrongPolicy Данная операция требует политики RETAIN и либо политики UNIQUE_ID, либо IMPLICIT_ACTIVATION, если вызывается вне контекста операции, обработанной этим POA. Она имеет четыре возможных варианта поведения. 1. Если POA имеет политики RETAIN и UNIQUE_ID, и указанный слуга активен, возвращается объект ссылочная, содержащая информацию, используемую для активации слуги. 2. Если POA имеет политики RETAIN и IMPLICIT_ACTIVATION, и либо POA имеет политику MULTIPLE_ID, либо указанный слуга неактивен, слуга активируется с помощью сгенерированного POA Object Id и Interface Id, связанного со слугой, и возвращается соответствующая объектная ссылка. 3. Если операция вызвана в контексте выполнения запроса на указанного слугу, возвращается ссылка, связанная с текущим вызовом. 4. В противном случае генерируется исключение ServantNotActive.
- Параметры:
-
p_servant- слуга, для которого требуется получить объектную ссылку. - Возвращает:
- объектная ссылка, связанная со слугой.
- Вызывает исключения:
-
WrongPolicy- если операция не вызвана в контексте выполнения запроса на указанного слугу и необходимые политики отсутствуют. -
ServantNotActive- если вышеуказанные политики и правила не соблюдаются.
reference_to_servant
Servant reference_to_servant(Object reference)
throws ObjectNotActive,
WrongPolicy,
WrongAdapter Если POA имеет политику RETAIN и указанный объект присутствует в Active Object Map, эта операция возвращает слугу, связанную с этим объектом в Active Object Map. В противном случае, если POA имеет политику USE_DEFAULT_SERVANT и слуга по умолчанию зарегистрирована в POA, эта операция возвращает слугу по умолчанию. Если объектная ссылка не была создана этим POA, генерируется исключение WrongAdapter. (OMG Issue по несоответствию с POA.IDL).
- Параметры:
-
reference- объектная ссылка, для которой возвращается слуга. - Возвращает:
- слуга, связанная со ссылкой.
- Вызывает исключения:
-
WrongPolicy- если ни политика RETAIN, ни USE_DEFAULT_SERVANT не присутствуют. -
ObjectNotActive- если слуга не присутствует в Active Object Map (для RETAIN) или слуга по умолчанию не зарегистрирована (для USE_DEFAULT_POLICY). -
WrongAdapter- если ссылка не была создана этим POA.
reference_to_id
byte[] reference_to_id(Object reference)
throws WrongAdapter,
WrongPolicy Данная операция возвращает значение Object Id, инкапсулированное указанной ссылкой. Эта операция допустима только если ссылка была создана POA, на котором выполняется операция. Объект, обозначенный ссылкой, не обязательно должен быть активным для успешного выполнения этой операции.
- Параметры:
-
reference- объектная ссылка, из которой необходимо вернуть object id. - Возвращает:
- object id, инкапсулированный в ссылке.
- Вызывает исключения:
-
WrongAdapter- если ссылка не была создана указанным POA. -
WrongPolicy- объявлено для будущих расширений.
id_to_servant
Servant id_to_servant(byte[] oid)
throws ObjectNotActive,
WrongPolicy Если POA имеет политику RETAIN и указанный ObjectId находится в Active Object Map, эта операция возвращает слугу, связанную с этим объектом в Active Object Map. В противном случае, если POA имеет политику USE_DEFAULT_SERVANT и слуга по умолчанию зарегистрирована в POA, эта операция возвращает слугу по умолчанию.
- Параметры:
-
oid- object id, для которого возвращается слуга. - Возвращает:
- слуга, связанная с oid.
- Вызывает исключения:
-
ObjectNotActive- генерируется, если ObjectId отсутствует в Active Object Map (для политики RETAIN) или слуга по умолчанию не зарегистрирована (для политики USE_DEFAULT_SERVANT). -
WrongPolicy- генерируется, если политики RETAIN или USE_DEFAULT_SERVANT не присутствуют.
id_to_reference
Object id_to_reference(byte[] oid)
throws ObjectNotActive,
WrongPolicy Если объект с указанным значением Object Id в настоящее время активен, возвращается ссылка, инкапсулирующая информацию, используемую для активации объекта.
- Параметры:
-
oid- id объекта, для которого возвращается ссылка. - Возвращает:
- объектная ссылка
- Вызывает исключения:
-
ObjectNotActive- если значение Object Id не активно в POA. -
WrongPolicy- если политика RETAIN отсутствует.
id
byte[] id()
Возвращает уникальный id POA в процессе его создания. Используется портативными интерцепторами.
Этот id гарантированно уникален на протяжении всего жизненного цикла POA в процессе. Для постоянных POA это означает, что если POA создаётся с тем же путём и именем, что и другой POA, эти POA идентичны и, следовательно, имеют одинаковый id. Для временных POA каждый POA уникален.
© 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.