org.processmining.models.graphbased.directed.petrinet.configurable.impl
Class ConfigurableIntegerFeature<T extends org.processmining.models.graphbased.directed.DirectedGraphElement>

java.lang.Object
  extended by org.processmining.models.graphbased.directed.petrinet.configurable.ConfigurableParameter<java.lang.Integer>
      extended by org.processmining.models.graphbased.directed.petrinet.configurable.impl.ConfigurableParameterInteger
          extended by org.processmining.models.graphbased.directed.petrinet.configurable.impl.ConfigurableIntegerFeature<T>
Type Parameters:
T -
All Implemented Interfaces:
ConfigurableFeature<T,java.lang.Integer>, ParameterizedFeature<ConfigurableParameter<java.lang.Integer>>
Direct Known Subclasses:
ConfigurableArcWeight, ConfigurablePlaceMarking, ParameterizedIntegerFeature

public abstract class ConfigurableIntegerFeature<T extends org.processmining.models.graphbased.directed.DirectedGraphElement>
extends ConfigurableParameterInteger
implements ConfigurableFeature<T,java.lang.Integer>

Abstract class describing a configurable feature of a node or arc expressed by a range of integer values.

Author:
dfahland

Constructor Summary
ConfigurableIntegerFeature(java.lang.String id, T element, java.lang.Integer min, java.lang.Integer max, java.lang.Integer defaultValue)
           
 
Method Summary
 T getConfiguredElement()
          Graph element being configured
 java.lang.String getId()
           
 java.util.List<ConfigurableParameter<java.lang.Integer>> getInputParameters()
           
 java.util.List<ConfigurableParameter<java.lang.Integer>> getInputParametersByName()
           
 ConfigurableParameter<java.lang.Integer> getParameter()
           
 void setInputParameter(java.lang.String key, java.lang.Object value)
          Set value of an input parameter.
 void updateValue()
          Update the value of this configurable feature.
 
Methods inherited from class org.processmining.models.graphbased.directed.petrinet.configurable.impl.ConfigurableParameterInteger
isValidIntervalValue
 
Methods inherited from class org.processmining.models.graphbased.directed.petrinet.configurable.ConfigurableParameter
getDiscreteDomain, getIntervalMax, getIntervalMin, getValue, isIntervalDomain, isValidValue, setDiscreteDomain, setId, setIntervalDomain, setValue, updateParameter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.processmining.models.graphbased.directed.petrinet.configurable.ConfigurableFeature
clearElementVisualization, cloneFor, executeConfiguration, isStillExecutable, updateElementVisualization
 

Constructor Detail

ConfigurableIntegerFeature

public ConfigurableIntegerFeature(java.lang.String id,
                                  T element,
                                  java.lang.Integer min,
                                  java.lang.Integer max,
                                  java.lang.Integer defaultValue)
                           throws InvalidConfigurationException
Throws:
InvalidConfigurationException
Method Detail

getId

public java.lang.String getId()
Specified by:
getId in interface ConfigurableFeature<T extends org.processmining.models.graphbased.directed.DirectedGraphElement,java.lang.Integer>
Overrides:
getId in class ConfigurableParameter<java.lang.Integer>
Returns:
id of the configurable feature

getConfiguredElement

public T getConfiguredElement()
Description copied from interface: ConfigurableFeature
Graph element being configured

Specified by:
getConfiguredElement in interface ConfigurableFeature<T extends org.processmining.models.graphbased.directed.DirectedGraphElement,java.lang.Integer>
Returns:

getParameter

public ConfigurableParameter<java.lang.Integer> getParameter()

getInputParameters

public java.util.List<ConfigurableParameter<java.lang.Integer>> getInputParameters()
Specified by:
getInputParameters in interface ConfigurableFeature<T extends org.processmining.models.graphbased.directed.DirectedGraphElement,java.lang.Integer>
Specified by:
getInputParameters in interface ParameterizedFeature<ConfigurableParameter<java.lang.Integer>>
Returns:
list of input parameters of this feature

getInputParametersByName

public java.util.List<ConfigurableParameter<java.lang.Integer>> getInputParametersByName()
Specified by:
getInputParametersByName in interface ParameterizedFeature<ConfigurableParameter<java.lang.Integer>>
Returns:
input parameters that differ by their ConfigurableParameter.getId(), i.e., from two input parameters with same id, only one will be included

updateValue

public void updateValue()
Description copied from interface: ConfigurableFeature
Update the value of this configurable feature. Has to be invoked whenever the value of this feature depends on several input parameters

Specified by:
updateValue in interface ConfigurableFeature<T extends org.processmining.models.graphbased.directed.DirectedGraphElement,java.lang.Integer>

setInputParameter

public void setInputParameter(java.lang.String key,
                              java.lang.Object value)
                       throws InvalidConfigurationException
Description copied from interface: ParameterizedFeature
Set value of an input parameter.

Specified by:
setInputParameter in interface ParameterizedFeature<ConfigurableParameter<java.lang.Integer>>
Throws:
InvalidConfigurationException