public abstract class AbstractObservablePlugin extends AbstractPlugin implements ObservablePluginNotifier
It allows:
ObservablePlugin.PluginObserver
interface)
PluginEvent
to all the observers
ObservablePlugin.PluginObserver
readers
Modifier | Constructor and Description |
---|---|
protected |
AbstractObservablePlugin(java.lang.String name)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addObserver(ObservablePlugin.PluginObserver observer)
Register a new plugin observer to be notified when a plugin event occurs.
|
void |
clearObservers()
Unregister all observers at once.
|
int |
countObservers()
Provides the current number of registered observers.
|
void |
notifyObservers(PluginEvent event)
Push a PluginEvent of the
ObservablePluginNotifier to its registered observers. |
void |
removeObserver(ObservablePlugin.PluginObserver observer)
Unregister a plugin observer.
|
void |
unregister()
(internal usage only)
Change the plugin status to unregistered |
getName, getReader, getReaderNames, getReaders, initNativeReaders, register
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName, getReader, getReaderNames, getReaders
protected AbstractObservablePlugin(java.lang.String name)
name
- A not empty String containing the name of the pluginKeypleReaderException
- when an issue is raised with readerpublic void addObserver(ObservablePlugin.PluginObserver observer)
The provided observer will receive all the events produced by this plugin (reader connection, disconnection).
It is possible to add as many observers as necessary. They will be notified of events sequentially in the order in which they are added.
addObserver
in interface ObservablePlugin
observer
- An observer object implementing the required interface (should be not null).public void removeObserver(ObservablePlugin.PluginObserver observer)
The observer will no longer receive any of the events produced by this plugin.
removeObserver
in interface ObservablePlugin
observer
- The observer object to be unregistered (should be not null).public void clearObservers()
clearObservers
in interface ObservablePlugin
public final int countObservers()
countObservers
in interface ObservablePlugin
public final void notifyObservers(PluginEvent event)
ObservablePluginNotifier
to its registered observers.notifyObservers
in interface ObservablePluginNotifier
event
- the event (see PluginEvent
)public void unregister()
AbstractPlugin
unregister
in class AbstractPlugin