/** * Call to update the disabled status for the bean. If the status has changed, all subscribing * containers will be notified. */ protected void updateDisabled() { initialized = true; setDisabled(checkDisabled()); }
/** * Set the disabled status. Notifies subscribed containers of the change. * * @param disabled True to disable the plugin. */ private void setDisabled(boolean disabled) { if (disabled != this.disabled) { this.disabled = disabled; updateStatus(); } }
/** * Subscribe/unsubscribe container. */ @Override public void onPluginEvent(PluginEvent event) { ElementPlugin plugin = event.getPlugin(); switch (event.getAction()) { case SUBSCRIBE: init(); plugins.add(plugin); plugin.setDisabled(isDisabled()); break; case UNSUBSCRIBE: plugins.remove(plugin); plugin.setDisabled(false); break; } }
/** * Initialize disabled flag. */ private void init() { if (!initialized) { initialized = true; disabled = checkDisabled(); } }
/** * Updates the disabled status of all registered containers. */ protected void updateStatus() { if (!plugins.isEmpty()) { boolean disabled = isDisabled(); for (ElementPlugin container : plugins) { container.setDisabled(disabled); } } }