Module xyz.cofe.ecolls
Package xyz.cofe.scn
Interface Scn<Owner extends Scn<Owner,SCN,CAUSE>,SCN extends Comparable<?>,CAUSE>
-
- All Known Subinterfaces:
EventList<E>,EventMap<K,V>,EventSet<E>,LongScn<OWNER,CAUSE>,PreEventList<E>
- All Known Implementing Classes:
BasicEventList,BasicEventMap,BasicEventSet,ClassNode,ClassSet,IndexSetBasic,MappedList,SimpleSDGraph,SimpleSDGraphSender,StdEventList
public interface Scn<Owner extends Scn<Owner,SCN,CAUSE>,SCN extends Comparable<?>,CAUSE>Поддержка номера изменений- Author:
- nt.gocha@gmail.com
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default AutoCloseableaddScnChangedListener(boolean weakLink, ScnListener<Owner,SCN,CAUSE> listener)Добавляет подписчика на измененияdefault AutoCloseableaddScnChangedListener(ScnListener<Owner,SCN,CAUSE> listener)Добавляет подписчика на измененияdefault voidfireScnChanged(SCN from, SCN to)Рассылает подписчикам уведомление о измении номера SCNdefault <CAUSE> voidfireScnChanged(SCN from, SCN to, CAUSE cause)Рассылает подписчикам уведомление о измении номера SCNdefault Set<ScnListener<Owner,SCN,CAUSE>>getScnChangedListeners()Возвращает активных подписчиковdefault booleanhasScnChangedListener(ScnListener<Owner,SCN,CAUSE> listener)Проверяет что указанный подписчик имеется в списках рассылкиdefault AutoCloseableonScn(TripleConsumer<SCN,SCN,CAUSE> listener)Добавление подписчика на изменение номера scndefault voidremoveAllScnChangedListeners()Удаляет всех подписчиковdefault voidremoveScnChangedListener(ScnListener<Owner,SCN,CAUSE> listener)Удаляет подписчика от уведомленийSCNscn()Возвращает текущий номер измененийdefault voidscn(Runnable run)Запуск блока кода, для предотвращения преждевремменого уведомления подписчиков.default <T> Tscn(Supplier<T> run)Запуск блока кода, для предотвращения преждевремменого уведомления подписчиков.default ListenersHelper<ScnListener<Owner,SCN,CAUSE>,ScnEvent<Owner,SCN,CAUSE>>scnListenerHelper()Возвращает помощника издателя для поддержи событий
-
-
-
Method Detail
-
scnListenerHelper
default ListenersHelper<ScnListener<Owner,SCN,CAUSE>,ScnEvent<Owner,SCN,CAUSE>> scnListenerHelper()
Возвращает помощника издателя для поддержи событий- Returns:
- помошник издателя
-
getScnChangedListeners
default Set<ScnListener<Owner,SCN,CAUSE>> getScnChangedListeners()
Возвращает активных подписчиков- Returns:
- подписчики
-
addScnChangedListener
default AutoCloseable addScnChangedListener(ScnListener<Owner,SCN,CAUSE> listener)
Добавляет подписчика на изменения- Parameters:
listener- подписчик- Returns:
- Интерфейс отписки от уведомлений
-
addScnChangedListener
default AutoCloseable addScnChangedListener(boolean weakLink, ScnListener<Owner,SCN,CAUSE> listener)
Добавляет подписчика на изменения- Parameters:
weakLink- true - добавить подписчика на weak ссылку / false - как hard ссылкуlistener- подписчик- Returns:
- Интерфейс отписки от уведомлений
-
removeScnChangedListener
default void removeScnChangedListener(ScnListener<Owner,SCN,CAUSE> listener)
Удаляет подписчика от уведомлений- Parameters:
listener- подписчик
-
removeAllScnChangedListeners
default void removeAllScnChangedListeners()
Удаляет всех подписчиков
-
hasScnChangedListener
default boolean hasScnChangedListener(ScnListener<Owner,SCN,CAUSE> listener)
Проверяет что указанный подписчик имеется в списках рассылки- Parameters:
listener- подписчик- Returns:
- true - подписчик имеется в списках рассылки
-
scn
SCN scn()
Возвращает текущий номер изменений- Returns:
- текущий номер изменения
-
fireScnChanged
default void fireScnChanged(SCN from, SCN to)
Рассылает подписчикам уведомление о измении номера SCN- Parameters:
from- предыдущее значениеto- текущее значение
-
fireScnChanged
default <CAUSE> void fireScnChanged(SCN from, SCN to, CAUSE cause)
Рассылает подписчикам уведомление о измении номера SCN- Type Parameters:
CAUSE- тип причины изменения номера- Parameters:
from- предыдущее значениеto- текущее значениеcause- причина изменения номера (событие)
-
onScn
default AutoCloseable onScn(TripleConsumer<SCN,SCN,CAUSE> listener)
Добавление подписчика на изменение номера scn- Parameters:
listener- подписчик- Returns:
- отписка от уведомлений
-
scn
default void scn(Runnable run)
Запуск блока кода, для предотвращения преждевремменого уведомления подписчиков. Подписчик будут уведомлены по завершению блока кода- Parameters:
run- блок кода
-
scn
default <T> T scn(Supplier<T> run)
Запуск блока кода, для предотвращения преждевремменого уведомления подписчиков. Подписчик будут уведомлены по завершению блока кода- Type Parameters:
T- тип результата- Parameters:
run- блок кода- Returns:
- результат выполнения кода
-
-