Interface DataChain<C>
-
- Type Parameters:
C-
- All Known Implementing Classes:
DataChainAbstract,DataChainImplNonBlocking
public interface DataChain<C>Idea: a chain of execution steps that works by data objects: chainlinks declare their inputs and outputs, and are started as soon as their outputs are available. This will enable a cleaner separation between GUI and computation steps, as the GUI steps are now chainlinks as well, but executed in the GUI thread. Each chainlink is started whenever all its inputs have become available.- Author:
- sander
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidexecuteLink(java.lang.Class<? extends DataChainLink<C>> clazz)Execute an arbitrary chain link of the given classvoidexecuteLink(DataChainLink<C> chainLink)Invalidate and execute the given chain link.FutureImplgetObjectValues(IvMObject<?>... objects)Get values from the state if they are available.java.lang.RunnablegetOnChange()OnExceptiongetOnException()OnStatus<C>getOnStatus()voidregister(DataChainLink<C> chainLink)Add a chainlink to the chain<O> voidsetFixedObject(IvMObject<O> object, O value)Set an object that cannot be changed by the chain.<O> voidsetObject(IvMObject<O> objectName, O object)Sets an object and starts executing the chain accordingly.voidsetOnChange(java.lang.Runnable onChange)voidsetOnException(OnException onException)voidsetOnStatus(OnStatus<C> onStatus)org.processmining.plugins.graphviz.dot.DottoDot()
-
-
-
Method Detail
-
register
void register(DataChainLink<C> chainLink)
Add a chainlink to the chain- Parameters:
chainLink-
-
setObject
<O> void setObject(IvMObject<O> objectName, O object)
Sets an object and starts executing the chain accordingly.- Type Parameters:
O-- Parameters:
inputLog-xLog-
-
executeLink
void executeLink(java.lang.Class<? extends DataChainLink<C>> clazz)
Execute an arbitrary chain link of the given class- Parameters:
clazz-
-
executeLink
void executeLink(DataChainLink<C> chainLink)
Invalidate and execute the given chain link.- Parameters:
chainLink-
-
getObjectValues
FutureImpl getObjectValues(IvMObject<?>... objects)
Get values from the state if they are available. Objects do not need to be available before calling this method.- Parameters:
objects-- Returns:
- the requested values that are available
-
setFixedObject
<O> void setFixedObject(IvMObject<O> object, O value)
Set an object that cannot be changed by the chain. Any attempt to do so will be ignored silently. Triggers will be suppressed after this call (the call itself will trigger for the object).- Type Parameters:
O-- Parameters:
object-value-
-
getOnException
OnException getOnException()
-
setOnException
void setOnException(OnException onException)
-
getOnChange
java.lang.Runnable getOnChange()
-
setOnChange
void setOnChange(java.lang.Runnable onChange)
-
toDot
org.processmining.plugins.graphviz.dot.Dot toDot()
-
-