org.processmining.models.graphbased.directed.petrinet.configurable
Interface ConfigurableFeature<T extends org.processmining.models.graphbased.directed.DirectedGraphElement,F>

Type Parameters:
T -
F -
All Superinterfaces:
ParameterizedFeature<ConfigurableParameter<F>>
All Known Implementing Classes:
ConfigurableArc, ConfigurableArcWeight, ConfigurableGraphElementFeature, ConfigurableIntegerFeature, ConfigurablePlace, ConfigurablePlaceMarking, ConfigurableTransition, ParameterizedArc, ParameterizedIntegerFeature, ParameterizedPlaceMarking

public interface ConfigurableFeature<T extends org.processmining.models.graphbased.directed.DirectedGraphElement,F>
extends ParameterizedFeature<ConfigurableParameter<F>>

A configurable feature of a graph element has input parameters and can be executed based on the input parameters. You can use ConfigurableParameters to link input parameters to the execution of the feature.

Author:
dfahland

Method Summary
 void clearElementVisualization()
          Clear visual representation of getConfiguredElement() back to normal
 ConfigurableFeature<T,F> cloneFor(T newElement)
          Create a clone of this feature using newElement as getConfiguredElement().
 void executeConfiguration(ConfigurablePetrinet<? extends PetrinetGraph> parent)
          Executes the configuration on getConfiguredElement().
 T getConfiguredElement()
          Graph element being configured
 java.lang.String getId()
           
 java.util.List<ConfigurableParameter<F>> getInputParameters()
           
 boolean isStillExecutable(ConfigurablePetrinet<? extends PetrinetGraph> parent)
           
 void updateElementVisualization()
          Change visual representation of getConfiguredElement()
 void updateValue()
          Update the value of this configurable feature.
 
Methods inherited from interface org.processmining.models.graphbased.directed.petrinet.configurable.ParameterizedFeature
getInputParametersByName, setInputParameter
 

Method Detail

getId

java.lang.String getId()
Returns:
id of the configurable feature

getConfiguredElement

T getConfiguredElement()
Graph element being configured

Returns:

isStillExecutable

boolean isStillExecutable(ConfigurablePetrinet<? extends PetrinetGraph> parent)
Parameters:
parent -
Returns:
true iff this configuration can be executed on the parent, e.g. if getConfiguredElement() is still an element of parent

executeConfiguration

void executeConfiguration(ConfigurablePetrinet<? extends PetrinetGraph> parent)
Executes the configuration on getConfiguredElement(). The configuration itself may not be completely executable on {@link #getConfiguredElement(), but may require to change the parent object of #getConfiguredElement() as well.


cloneFor

ConfigurableFeature<T,F> cloneFor(T newElement)
                                                                                                            throws InvalidConfigurationException
Create a clone of this feature using newElement as getConfiguredElement().

Parameters:
newElement -
Throws:
InvalidConfigurationException

getInputParameters

java.util.List<ConfigurableParameter<F>> getInputParameters()
Specified by:
getInputParameters in interface ParameterizedFeature<ConfigurableParameter<F>>
Returns:
list of input parameters of this feature

updateValue

void updateValue()
Update the value of this configurable feature. Has to be invoked whenever the value of this feature depends on several input parameters


updateElementVisualization

void updateElementVisualization()
Change visual representation of getConfiguredElement()


clearElementVisualization

void clearElementVisualization()
Clear visual representation of getConfiguredElement() back to normal