Интерфейс Relation
- Все известные подинтерфейсы:
- RelationSupportMBean
- Все известные реализующие классы:
- RelationSupport
public interface Relation
Этот интерфейс должен быть реализован любым классом MBean, ожидаемым для представления отношения, управляемого службой Relation Service.
Простые отношения, т.е. содержащие только роли, без свойств или методов, могут быть созданы непосредственно службой Relation Service (представлены как объекты RelationSupport, внутренне обрабатываемые службой Relation Service).
Если пользователь хочет представить более сложные отношения, включающие свойства и/или методы, он должен предоставить собственный класс, реализующий интерфейс Relation. Это можно сделать, унаследовавшись от класса RelationSupport или реализовав интерфейс (полностью или делегированием объекту члена RelationSupport).
Указание такого пользовательского класса Relation предназначено для введения свойств и/или методов. Они должны быть доступны для удаленного управления. Поэтому любой пользовательский класс Relation должен быть классом MBean.
- С тех пор:
- 1.5
Методы
| Модификатор и тип | Метод и описание |
|---|---|
RoleResult |
getAllRoles() Возвращает все роли, присутствующие в отношении. |
Map<ObjectName,List<String>> |
getReferencedMBeans() Получает MBean, ссылающиеся на различные роли отношения. |
String |
getRelationId() Возвращает идентификатор отношения (используется для уникальной идентификации отношения внутри Relation Service). |
ObjectName |
getRelationServiceName() Возвращает ObjectName службы Relation Service, обрабатывающей отношение. |
String |
getRelationTypeName() Возвращает имя связанного типа отношения. |
List<ObjectName> |
getRole(String roleName) Получает значение роли для данного имени роли. |
Integer |
getRoleCardinality(String roleName) Возвращает количество MBean, в настоящее время ссылающихся на заданную роль. |
RoleResult |
getRoles(String[] roleNameArray) Получает значения ролей с заданными именами. |
void |
handleMBeanUnregistration(ObjectName objectName,
String roleName) Обратный вызов, используемый службой Relation Service, когда MBean, ссылающийся на роль, снят с регистрации. |
RoleList |
retrieveAllRoles() Возвращает все роли в отношении без проверки режима чтения. |
void |
setRole(Role role) Устанавливает заданную роль. |
RoleResult |
setRoles(RoleList roleList) Устанавливает заданные роли. |
Методы
getRole
List<ObjectName> getRole(String roleName)
throws IllegalArgumentException,
RoleNotFoundException,
RelationServiceNotRegisteredException Получает значение роли для данного имени роли.
Проверяет, существует ли роль и доступна для чтения в соответствии с типом отношения.
- Параметры:
-
roleName- имя роли - Возвращает:
- список ObjectName объектов, представляющих значение роли
- Исключения:
-
IllegalArgumentException- если имя роли null -
RoleNotFoundException- если:- нет роли с заданным именем
- роль недоступна для чтения.
-
RelationServiceNotRegisteredException- если служба Relation Service не зарегистрирована в MBean Server - См. также:
setRole(javax.management.relation.Role)
getRoles
RoleResult getRoles(String[] roleNameArray)
throws IllegalArgumentException,
RelationServiceNotRegisteredException Получает значения ролей с заданными именами.
Проверяет для каждой роли, существует ли она и доступна для чтения в соответствии с типом отношения.
- Параметры:
-
roleNameArray- массив имен ролей для получения - Возвращает:
- объект RoleResult, включающий RoleList (для успешно полученных ролей) и RoleUnresolvedList (для ролей, не полученных).
- Исключения:
-
IllegalArgumentException- если имя роли null -
RelationServiceNotRegisteredException- если служба Relation Service не зарегистрирована в MBean Server - См. также:
setRoles(javax.management.relation.RoleList)
getRoleCardinality
Integer getRoleCardinality(String roleName)
throws IllegalArgumentException,
RoleNotFoundException Возвращает количество MBean, в настоящее время ссылающихся на заданную роль.
- Параметры:
-
roleName- имя роли - Возвращает:
- количество MBean, ссылающихся на эту роль
- Исключения:
-
IllegalArgumentException- если имя роли null -
RoleNotFoundException- если нет роли с заданным именем
getAllRoles
RoleResult getAllRoles()
throws RelationServiceNotRegisteredException Возвращает все роли, присутствующие в отношении.
- Возвращает:
- объект RoleResult, включающий RoleList (для успешно полученных ролей) и RoleUnresolvedList (для ролей, недоступных для чтения).
- Исключения:
-
RelationServiceNotRegisteredException- если служба Relation Service не зарегистрирована в MBean Server
retrieveAllRoles
RoleList retrieveAllRoles()
Возвращает все роли в отношении без проверки режима чтения.
- Возвращает:
- RoleList.
setRole
void setRole(Role role)
throws IllegalArgumentException,
RoleNotFoundException,
RelationTypeNotFoundException,
InvalidRoleValueException,
RelationServiceNotRegisteredException,
RelationNotFoundException Устанавливает заданную роль.
Проверит роль в соответствии с её определением в типе отношения.
Отправит уведомление (RelationNotification с типом RELATION_BASIC_UPDATE или RELATION_MBEAN_UPDATE в зависимости от того, является ли отношение MBean).
- Параметры:
-
role- роль для установки (имя и новое значение) - Исключения:
-
IllegalArgumentException- если роль null -
RoleNotFoundException- если нет роли с заданным именем или роль не доступна для записи (проверка на доступ для записи при инициализации роли не выполняется) -
InvalidRoleValueException- если предоставленное значение для роли неверно:- количество MBean, ссылающихся на данное значение, меньше ожидаемого минимального степени
- количество MBean, ссылающихся на предоставленное значение, превышает ожидаемую максимальную степень
- один MBean в значении не является объектом класса MBean, ожидаемого для данной роли
- MBean, указанный для этой роли, не существует.
-
RelationServiceNotRegisteredException- если Relation Service не зарегистрирован в MBean Server -
RelationTypeNotFoundException- если тип отношения не объявлен в Relation Service. -
RelationNotFoundException- если отношение не добавлено в Relation Service. - См. также:
getRole(java.lang.String)
setRoles
RoleResult setRoles(RoleList roleList)
throws IllegalArgumentException,
RelationServiceNotRegisteredException,
RelationTypeNotFoundException,
RelationNotFoundException Устанавливает заданные роли.
Проверит роль в соответствии с её определением в типе отношения.
Отправит по одному уведомлению (RelationNotification с типом RELATION_BASIC_UPDATE или RELATION_MBEAN_UPDATE, в зависимости от того, является ли отношение MBean) на обновляемую роль.
- Параметры:
-
roleList- список ролей для установки - Возвращает:
- объект RoleResult, включающий RoleList (для успешно установленных ролей) и RoleUnresolvedList (для ролей, не установленных).
- Исключения:
-
IllegalArgumentException- если список ролей null -
RelationServiceNotRegisteredException- если Relation Service не зарегистрирован в MBean Server -
RelationTypeNotFoundException- если тип отношения не объявлен в Relation Service. -
RelationNotFoundException- если MBean отношения не добавлен в Relation Service. - См. также:
getRoles(java.lang.String[])
handleMBeanUnregistration
void handleMBeanUnregistration(ObjectName objectName,
String roleName)
throws IllegalArgumentException,
RoleNotFoundException,
InvalidRoleValueException,
RelationServiceNotRegisteredException,
RelationTypeNotFoundException,
RelationNotFoundException Обратный вызов, используемый службой Relation Service, когда MBean, ссылающийся на роль, снят с регистрации.
Служба Relation Service вызовет этот метод, чтобы позволить отношению выполнить действия для отражения последствий такого снятия с регистрации.
ВНИМАНИЕ. Пользователь не должен вызывать этот метод.
Текущая реализация заключается в установке роли с её текущим значением (список ObjectName ссылающихся на MBean) без снятого с регистрации.
- Параметры:
-
objectName- ObjectName снятого с регистрации MBean -
roleName- имя роли, в которой ссылается MBean - Исключения:
-
IllegalArgumentException- если параметр null -
RoleNotFoundException- если роль не существует в отношении или не доступна для записи -
InvalidRoleValueException- если значение роли не соответствует связанной информации о роли (это никогда не произойдет при вызове из Relation Service) -
RelationServiceNotRegisteredException- если Relation Service не зарегистрирован в MBean Server -
RelationTypeNotFoundException- если тип отношения не объявлен в Relation Service. -
RelationNotFoundException- если этот метод вызывается для MBean отношения, не добавленного в Relation Service.
getReferencedMBeans
Map<ObjectName,List<String>> getReferencedMBeans()
Получает MBean, ссылающиеся на различные роли отношения.
- Возвращает:
- HashMap, сопоставляющая:
ObjectName -> ArrayList имён ролей
getRelationTypeName
String getRelationTypeName()
Возвращает имя связанного типа отношения.
- Возвращает:
- имя типа отношения.
getRelationServiceName
ObjectName getRelationServiceName()
Возвращает ObjectName службы Relation Service, обрабатывающей отношение.
- Возвращает:
- ObjectName службы Relation Service.
getRelationId
String getRelationId()
Возвращает идентификатор отношения (используется для уникальной идентификации отношения внутри Relation Service).
- Возвращает:
- идентификатор отношения.
© 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.