public abstract class AbstractService extends Object implements ConsoleService, ServiceEventPublisher
| Modifier and Type | Field and Description |
|---|---|
protected ConcurrentLinkedQueue<ServiceEvent> |
serviceEventQueue |
| Constructor and Description |
|---|
AbstractService() |
| Modifier and Type | Method and Description |
|---|---|
void |
addServiceEvent(ServiceEvent event)
Добавляет событие в очередь
|
Closeable |
addServiceListener(ServiceListener listener)
Добавляет подписчика на события службы
|
Closeable |
addServiceListener(ServiceListener listener,
boolean weakLink)
Добавляет подписчика на события службы
|
static <T> T |
findFirstService(Iterable services,
Class<T> serviceClass,
boolean stongCompare)
Поиск службы указанного типа
|
<T> Set<T> |
findServices(Class<T> serviceClass)
Поиск службы указанного типа.
|
protected <T> Set<T> |
findServices(Dependency dep,
Class<T> serviceClass)
Поиск службы указанного типа
|
static <T> Set<T> |
findServices(Iterable services,
Class<T> serviceClass,
boolean stongCompare)
Поиск службы указанного типа
|
void |
fireServiceEvent(ServiceEvent event) |
void |
fireServiceEvents()
Обработка очереди сообщений
|
Console |
getConsole()
Возвращает ссылку на класс консоли
|
List<FieldDependencyController> |
getFieldDependencies()
Возвращает список зависимостей
|
protected int |
getInitDependenciesCallCount()
Возвращает кол-во сделаных вызовов initDependencies()
|
Set<ServiceListener> |
getServiceListeners()
Возвращает список подписчиков
|
protected Set<Field> |
getUnresolvedDependencies()
Список неразрешенных зависимостей
|
boolean |
hasServiceListener(ServiceListener listener)
Проверяет наличие подписчика
|
void |
init(Console console)
Инициализация сервиса
|
protected void |
initDependencies()
Поиск и разрешение зависимостей
|
static Set<AbstractService> |
instances()
Возвращает созданные и существующие экземпляры класса AbstractService
|
protected boolean |
isResolvedDependencies()
Проверка что все указанные зависимости разрешены
|
protected ListenersHelper<ServiceListener,ServiceEvent> |
listeners() |
protected void |
onInitServicesEnd(Console console)
Все сервисы добавлены, вызывается для по
|
protected void |
onResolvedDependencies(Dependency d,
Field f,
Object v)
Зависимост разрешена
|
void |
removeServiceListener(ServiceListener listener)
Удаление подписчика
|
protected Object |
resolveDependecy(Dependency d,
Field f,
Set variants)
Разрешение зависимости
|
protected final ConcurrentLinkedQueue<ServiceEvent> serviceEventQueue
protected ListenersHelper<ServiceListener,ServiceEvent> listeners()
public Set<ServiceListener> getServiceListeners()
ServiceEventPublishergetServiceListeners in interface ServiceEventPublisherpublic boolean hasServiceListener(ServiceListener listener)
ServiceEventPublisherhasServiceListener in interface ServiceEventPublisherlistener - подписчикpublic Closeable addServiceListener(ServiceListener listener)
ServiceEventPublisheraddServiceListener in interface ServiceEventPublisherlistener - Подписчикpublic Closeable addServiceListener(ServiceListener listener, boolean weakLink)
ServiceEventPublisheraddServiceListener in interface ServiceEventPublisherlistener - ПодписчикweakLink - Добавить подписчика как weak ссылкуpublic void removeServiceListener(ServiceListener listener)
ServiceEventPublisherremoveServiceListener in interface ServiceEventPublisherlistener - Подписчикpublic void fireServiceEvent(ServiceEvent event)
public void addServiceEvent(ServiceEvent event)
ServiceEventPublisheraddServiceEvent in interface ServiceEventPublisherevent - событиеpublic void fireServiceEvents()
ServiceEventPublisherfireServiceEvents in interface ServiceEventPublisherpublic static Set<AbstractService> instances()
public Console getConsole()
public void init(Console console)
ConsoleServiceinit in interface ConsoleServiceconsole - ссылка на консольprotected void onInitServicesEnd(Console console)
console - консольprotected Set<Field> getUnresolvedDependencies()
protected int getInitDependenciesCallCount()
public List<FieldDependencyController> getFieldDependencies()
protected void initDependencies()
protected void onResolvedDependencies(Dependency d, Field f, Object v)
d - Зависимостьf - полеv - значениеprotected Object resolveDependecy(Dependency d, Field f, Set variants)
d - описание зависимостиf - поле для которой производится разрешение зависимостиvariants - список вариантов (возможно null)protected boolean isResolvedDependencies()
protected <T> Set<T> findServices(Dependency dep, Class<T> serviceClass)
T - Тип службыdep - Аннотация зависмостиserviceClass - Тип службыpublic <T> Set<T> findServices(Class<T> serviceClass)
T - Тип службыserviceClass - Тип службыpublic static <T> Set<T> findServices(Iterable services, Class<T> serviceClass, boolean stongCompare)
T - Тип службыservices - Список/перень служб среди которых производится поискserviceClass - Тип службыstongCompare - true - Строга проверка на тип службы (result.class == serviceClass) public static <T> T findFirstService(Iterable services, Class<T> serviceClass, boolean stongCompare)
T - Тип службыservices - Список/перень служб среди которых производится поискserviceClass - Тип службыstongCompare - true - Строга проверка на тип службы (result.class == serviceClass) Copyright © 2018. All rights reserved.