/** * Unregisters a listener for the IPluginEvent callback event. * * @param listener Listener to be unregistered. */ public void unregisterListener(IPluginEventListener listener) { if (pluginEventListeners2 != null && pluginEventListeners2.contains(listener)) { pluginEventListeners2.remove(listener); listener.onPluginEvent(new PluginEvent(this, PluginAction.UNSUBSCRIBE)); } }
/** * Registers a listener for the IPluginEventListener callback event. If the listener has already * been registered, the request is ignored. * * @param listener Listener to be registered. */ public void registerListener(IPluginEventListener listener) { if (pluginEventListeners2 == null) { pluginEventListeners2 = new ArrayList<>(); } if (!pluginEventListeners2.contains(listener)) { pluginEventListeners2.add(listener); listener.onPluginEvent(new PluginEvent(this, PluginAction.SUBSCRIBE)); } }
log.debug("Delivering " + action.name() + " event to IPluginEventListener listener " + listener); listener.onPluginEvent(event); } catch (Throwable e) { exception = createChainedException(action.name(), e, exception);