Module xyz.cofe.ecolls
Package xyz.cofe.scn
Interface Scn<Owner extends Scn<Owner,SCN,CAUSE>,SCN extends java.lang.Comparable<?>,CAUSE>
- All Known Implementing Classes:
BasicEventList
,BasicEventMap
,BasicEventSet
,ClassNode
,ClassSet
,IndexSetBasic
,SimpleSDGraph
,SimpleSDGraphSender
public interface Scn<Owner extends Scn<Owner,SCN,CAUSE>,SCN extends java.lang.Comparable<?>,CAUSE>
Поддержка номера изменений
- Author:
- [email protected]
-
Method Summary
Modifier and Type Method Description default java.lang.AutoCloseable
addScnChangedListener(boolean weakLink, ScnListener<Owner,SCN,CAUSE> listener)
Добавляет подписчика на измененияdefault java.lang.AutoCloseable
addScnChangedListener(ScnListener<Owner,SCN,CAUSE> listener)
Добавляет подписчика на измененияdefault void
fireScnChanged(SCN from, SCN to)
Рассылает подписчикам уведомление о измении номера SCNdefault <CAUSE> void
fireScnChanged(SCN from, SCN to, CAUSE cause)
Рассылает подписчикам уведомление о измении номера SCNdefault java.util.Set<ScnListener<Owner,SCN,CAUSE>>
getScnChangedListeners()
Возвращает активных подписчиковdefault boolean
hasScnChangedListener(ScnListener<Owner,SCN,CAUSE> listener)
Проверяет что указанный подписчик имеется в списках рассылкиdefault java.lang.AutoCloseable
onScn(TripleConsumer<SCN,SCN,CAUSE> listener)
Добавление подписчика на изменение номера scndefault void
removeAllScnChangedListeners()
Удаляет всех подписчиковdefault void
removeScnChangedListener(ScnListener<Owner,SCN,CAUSE> listener)
Удаляет подписчика от уведомленийSCN
scn()
Возвращает текущий номер измененийdefault void
scn(java.lang.Runnable run)
Запуск блока кода, для предотвращения преждевремменого уведомления подписчиков.default <T> T
scn(java.util.function.Supplier<T> run)
Запуск блока кода, для предотвращения преждевремменого уведомления подписчиков.
-
Method Details
-
getScnChangedListeners
Возвращает активных подписчиков- Returns:
- подписчики
-
addScnChangedListener
Добавляет подписчика на изменения- Parameters:
listener
- подписчик- Returns:
- Интерфейс отписки от уведомлений
-
addScnChangedListener
default java.lang.AutoCloseable addScnChangedListener(boolean weakLink, ScnListener<Owner,SCN,CAUSE> listener)Добавляет подписчика на изменения- Parameters:
weakLink
- true - добавить подписчика на weak ссылку / false - как hard ссылкуlistener
- подписчик- Returns:
- Интерфейс отписки от уведомлений
-
removeScnChangedListener
Удаляет подписчика от уведомлений- Parameters:
listener
- подписчик
-
removeAllScnChangedListeners
default void removeAllScnChangedListeners()Удаляет всех подписчиков -
hasScnChangedListener
Проверяет что указанный подписчик имеется в списках рассылки- Parameters:
listener
- подписчик- Returns:
- true - подписчик имеется в списках рассылки
-
scn
SCN scn()Возвращает текущий номер изменений- Returns:
- текущий номер изменения
-
fireScnChanged
Рассылает подписчикам уведомление о измении номера SCN- Parameters:
from
- предыдущее значениеto
- текущее значение
-
fireScnChanged
Рассылает подписчикам уведомление о измении номера SCN- Type Parameters:
CAUSE
- тип причины изменения номера- Parameters:
from
- предыдущее значениеto
- текущее значениеcause
- причина изменения номера (событие)
-
onScn
Добавление подписчика на изменение номера scn- Parameters:
listener
- подписчик- Returns:
- отписка от уведомлений
-
scn
default void scn(java.lang.Runnable run)Запуск блока кода, для предотвращения преждевремменого уведомления подписчиков. Подписчик будут уведомлены по завершению блока кода- Parameters:
run
- блок кода
-
scn
default <T> T scn(java.util.function.Supplier<T> run)Запуск блока кода, для предотвращения преждевремменого уведомления подписчиков. Подписчик будут уведомлены по завершению блока кода- Type Parameters:
T
- тип результата- Parameters:
run
- блок кода- Returns:
- результат выполнения кода
-