Package jasima.core.util.observer
Interface Notifier<SUBJECT extends Notifier<SUBJECT,MESSAGE>,MESSAGE>
-
- All Known Subinterfaces:
SimComponent,SimComponentContainer
- All Known Implementing Classes:
AbstractMultiConfExperiment,AbstractMultiExperiment,DynamicJobSource,DynamicShopExperiment,Experiment,FullFactorialExperiment,Job,JobSource,MimacExperiment,MultipleConfigurationExperiment,MultipleReplicationExperiment,NotifierImpl,OCBAExperiment,Q,RandomFractionalExperiment,Shop,ShopExperiment,SimComponentBase,SimComponentContainerBase,SimComponentRoot,SimEntity,Simulation,SimulationExperiment,StaticJobSource,StaticShopExperiment,WorkStation
public interface Notifier<SUBJECT extends Notifier<SUBJECT,MESSAGE>,MESSAGE>Notifier informNotifierListeners about events. This implements a version of the Observer-pattern using Java Generics. Implementation can be delegated vianotifierImpl().Usually the default implementation provided by
NotifierImplcan be used.- Author:
- Torsten Hildebrandt
-
-
Field Summary
Fields Modifier and Type Field Description static Map<Notifier<?,?>,NotifierImpl<?,?>>adapters
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default <T extends NotifierListener<SUBJECT,MESSAGE>>
voidaddListener(TypeHint<T> eventType, T eventHandler)default <T extends NotifierListener<SUBJECT,MESSAGE>>
voidaddListener(Class<T> eventType, T eventHandler)default <T extends NotifierListener<SUBJECT,MESSAGE>>
TaddListener(T l)default <T extends NotifierListener<SUBJECT,MESSAGE>>
voidfire(TypeHint<T> hint, Consumer<T> forwarder)default voidfire(MESSAGE msg)default NotifierListener<SUBJECT,MESSAGE>getListener(int idx)default Notifier<SUBJECT,MESSAGE>notifierImpl()default intnumListener()default voidremoveCurrentListener()default booleanremoveListener(NotifierListener<SUBJECT,MESSAGE> l)
-
-
-
Field Detail
-
adapters
static final Map<Notifier<?,?>,NotifierImpl<?,?>> adapters
-
-
Method Detail
-
numListener
default int numListener()
-
addListener
default <T extends NotifierListener<SUBJECT,MESSAGE>> T addListener(T l)
-
addListener
default <T extends NotifierListener<SUBJECT,MESSAGE>> void addListener(Class<T> eventType, T eventHandler)
-
addListener
default <T extends NotifierListener<SUBJECT,MESSAGE>> void addListener(TypeHint<T> eventType, T eventHandler)
-
removeCurrentListener
default void removeCurrentListener()
-
removeListener
default boolean removeListener(NotifierListener<SUBJECT,MESSAGE> l)
-
getListener
default NotifierListener<SUBJECT,MESSAGE> getListener(int idx)
-
fire
default void fire(MESSAGE msg)
-
fire
default <T extends NotifierListener<SUBJECT,MESSAGE>> void fire(TypeHint<T> hint, Consumer<T> forwarder)
-
-