Интерфейс BeanContextServiceProvider
- Все известные реализующие классы:
- BeanContextServicesSupport.BCSSProxyServiceProvider
public interface BeanContextServiceProvider
Одна из основных функций BeanContext — действовать как место встречи между JavaBeans и BeanContextServiceProviders.
JavaBean, вложенный в BeanContext, может попросить BeanContext предоставить экземпляр «сервиса» на основе ссылки на объект класса Java, представляющий этот сервис.
Если такой сервис зарегистрирован в контексте или в одном из его вложенных контекстов, в случае, когда контекст делегирует запрос на сервис своему контексту, от BeanContextServiceProvider, связанного с сервисом, требуется предоставить экземпляр этого сервиса.
Сервис-провайдер может всегда возвращать один и тот же экземпляр или создавать новый экземпляр для каждого запроса.
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Iterator |
getCurrentServiceSelectors(BeanContextServices bcs,
Class serviceClass) Вызывается |
Object |
getService(BeanContextServices bcs,
Object requestor,
Class serviceClass,
Object serviceSelector) Вызывается |
void |
releaseService(BeanContextServices bcs,
Object requestor,
Object service) Вызывается |
Методы
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.