Интерфейс BeanContextServiceProvider

Все известные реализующие классы:
BeanContextServicesSupport.BCSSProxyServiceProvider
public interface BeanContextServiceProvider

Одна из основных функций BeanContext — это обеспечение взаимодействия между JavaBeans и BeanContextServiceProviders.

JavaBean, вложенный в BeanContext, может запросить у BeanContext предоставление экземпляра «сервиса» на основе ссылки на объект класса Java, представляющего этот сервис.

Если такой сервис зарегистрирован в контексте или в одном из его вложенных контекстов, в случае, когда контекст делегирует запрос на сервис своему родительскому контексту, BeanContextServiceProvider, связанный с сервисом, запросят предоставление экземпляра этого сервиса.

Сервис-провайдер может всегда возвращать один и тот же экземпляр или создавать новый экземпляр для каждого запроса.

Методы

Модификатор и типМетодОписание
Iterator<?>getCurrentServiceSelectors​(BeanContextServices bcs, Class<?> serviceClass)

Вызывается BeanContextServices, этот метод получает текущие селекторы сервиса для указанного сервиса.

ObjectgetService​(BeanContextServices bcs, Object requestor, Class<?> serviceClass, Object serviceSelector)

Вызывается BeanContextServices, этот метод запрашивает экземпляр сервиса у этого BeanContextServiceProvider.

voidreleaseService​(BeanContextServices bcs, Object requestor, Object service)

Вызывается BeanContextServices, этот метод освобождает ссылку вложенного BeanContextChild (или любого произвольного объекта, связанного с BeanContextChild) на указанный сервис.

Методы

getService

Object getService(BeanContextServices bcs,
                  Object requestor,
                  Class<?> serviceClass,
                  Object serviceSelector)

Вызывается BeanContextServices, этот метод запрашивает экземпляр сервиса у этого BeanContextServiceProvider.

Параметры:
bcs — BeanContextServices, связанный с этим запросом. Этот параметр позволяет BeanContextServiceProvider различать запросы на сервис из разных источников.
requestor — объект, запрашивающий сервис
serviceClass — запрашиваемый сервис
serviceSelector — параметр, зависящий от сервиса, для конкретного сервиса, или null, если не применимо.
Возвращает:
ссылку на запрашиваемый сервис

releaseService

void releaseService(BeanContextServices bcs,
                    Object requestor,
                    Object service)

Вызывается BeanContextServices, этот метод освобождает ссылку вложенного BeanContextChild (или любого произвольного объекта, связанного с BeanContextChild) на указанный сервис.

Параметры:
bcs — BeanContextServices, связанный с этим запросом на освобождение
requestor — объект, запрашивающий освобождение сервиса
service — сервис, который должен быть освобожден

getCurrentServiceSelectors

Iterator<?> getCurrentServiceSelectors(BeanContextServices bcs,
                                       Class<?> serviceClass)

Вызывается BeanContextServices, этот метод получает текущие селекторы сервиса для указанного сервиса. Селектор сервиса — это параметр, специфичный для сервиса. Типичные примеры включают: параметр конструктора для класса реализации сервиса, значение свойства конкретного сервиса или ключ в карте существующих реализаций.

Параметры:
bcs — BeanContextServices для этого запроса
serviceClass — указанный сервис
Возвращает:
текущие селекторы сервиса для указанного класса сервиса

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/beans/beancontext/BeanContextServiceProvider.html

Spec-Zone .ru
спецификации, руководства, описания, API