Kieker 1.11

kieker.analysis.plugin
Class AbstractUpdateableFilterPlugin

java.lang.Object
  extended by kieker.analysis.analysisComponent.AbstractAnalysisComponent
      extended by kieker.analysis.plugin.AbstractPlugin
          extended by kieker.analysis.plugin.filter.AbstractFilterPlugin
              extended by kieker.analysis.plugin.AbstractUpdateableFilterPlugin
All Implemented Interfaces:
IAnalysisComponent, IFilterPlugin, IPlugin
Direct Known Subclasses:
AnomalyDetectionFilter, ForecastingFilter

public abstract class AbstractUpdateableFilterPlugin
extends AbstractFilterPlugin

Extends the AbstractFilterPlugin with possibilities to update properties that are marked as updateable.

Since:
1.10
Author:
Thomas Duellmann, Tobias Rudolph, Markus Fischer

Nested Class Summary
 
Nested classes/interfaces inherited from interface kieker.analysis.plugin.IPlugin
IPlugin.PluginInputPortReference, IPlugin.STATE
 
Field Summary
 
Fields inherited from class kieker.analysis.analysisComponent.AbstractAnalysisComponent
CONFIG_NAME, configuration, log, LOG, projectContext, recordsTimeUnitFromProjectContext
 
Constructor Summary
AbstractUpdateableFilterPlugin(Configuration configuration, IProjectContext projectContext)
          Each Plugin requires a constructor with a Configuration object and an IProjectContext.
 
Method Summary
 boolean isPropertyUpdateable(java.lang.String propertyName)
          Checks whether the property with the given name is marked as updateable.
abstract  void setCurrentConfiguration(Configuration config, boolean update)
          Set current configuration.
 
Methods inherited from class kieker.analysis.plugin.filter.AbstractFilterPlugin
init, terminate
 
Methods inherited from class kieker.analysis.plugin.AbstractPlugin
areAllRepositoryPortsConnected, connect, connect, deliver, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentRepositories, getDefaultConfiguration, getIncomingPlugins, getPluginDescription, getPluginName, getRepository, getState, isConnectionAllowed, notifyNewIncomingConnection, notifyNewOutgoingConnection, shutdown, start
 
Methods inherited from class kieker.analysis.analysisComponent.AbstractAnalysisComponent
getCurrentConfiguration, getName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface kieker.analysis.plugin.IPlugin
connect, getAllDisplayNames, getAllInputPortNames, getAllOutputPortNames, getAllRepositoryPortNames, getConnectedPlugins, getCurrentConfiguration, getCurrentRepositories, getName, getPluginDescription, getPluginName, getState
 

Constructor Detail

AbstractUpdateableFilterPlugin

public AbstractUpdateableFilterPlugin(Configuration configuration,
                                      IProjectContext projectContext)
Each Plugin requires a constructor with a Configuration object and an IProjectContext.

Parameters:
configuration - The configuration for this component.
projectContext - The project context for this component. The component will be registered.
Method Detail

setCurrentConfiguration

public abstract void setCurrentConfiguration(Configuration config,
                                             boolean update)
Set current configuration. Example implementation:
 // The following condition is true, if key exists in config object AND (update and isUpdateable is true OR update is false)
 if(!update || isPropertyUpdateable(CONFIG_PROPERTY_PROP_NAME)) {
    this.localProperty = config.getLongProperty(CONFIG_PROPERTY_PROP_NAME);
 }
 

Parameters:
config - Configuration object that contains the configuration to be set.
update - If false, set all properties, else overwrite only properties that are marked as updateable

isPropertyUpdateable

public boolean isPropertyUpdateable(java.lang.String propertyName)
Checks whether the property with the given name is marked as updateable.

Parameters:
propertyName - Name of the property to check
Returns:
true if marked as updateable, else false.

Kieker 1.11

Copyright 2015 Kieker Project, http://kieker-monitoring.net