Class DataChainImplNonBlocking<C,P>
- java.lang.Object
-
- org.processmining.plugins.inductiveVisualMiner.chain.DataChainAbstract<C>
-
- org.processmining.plugins.inductiveVisualMiner.chain.DataChainImplNonBlocking<C,P>
-
- Type Parameters:
C- configurationP- panel
- All Implemented Interfaces:
DataChain<C>
public class DataChainImplNonBlocking<C,P> extends DataChainAbstract<C>
Idea: keep the requests in a non-blocking queue, and have a separate thread process them.- Author:
- sander
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classDataChainImplNonBlocking.QueueItem<C>protected static classDataChainImplNonBlocking.QueueItemExecuteLink<C>protected static classDataChainImplNonBlocking.QueueItemGetObjectValues<C>protected static classDataChainImplNonBlocking.QueueItemRegister<C>protected static classDataChainImplNonBlocking.QueueItemResults<C>protected static classDataChainImplNonBlocking.QueueItemSetFixedObject<C,O>protected static classDataChainImplNonBlocking.QueueItemSetObject<C,O>
-
Field Summary
-
Fields inherited from class org.processmining.plugins.inductiveVisualMiner.chain.DataChainAbstract
onChange, onException, onStatus
-
-
Constructor Summary
Constructors Constructor Description DataChainImplNonBlocking(DataState state, org.processmining.framework.plugin.ProMCanceller canceller, java.util.concurrent.Executor executor, C configuration, P panel)
-
Method Summary
All Methods Instance Methods Concrete 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.voidprocessOutputsOfChainLink(IvMCanceller canceller, DataChainLinkComputation<C> chainLink, IvMObjectValues outputs)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.org.processmining.plugins.graphviz.dot.DottoDot()-
Methods inherited from class org.processmining.plugins.inductiveVisualMiner.chain.DataChainAbstract
getOnChange, getOnException, getOnStatus, setOnChange, setOnException, setOnStatus
-
-
-
-
Method Detail
-
register
public void register(DataChainLink<C> chainLink)
Description copied from interface:DataChainAdd a chainlink to the chain
-
setObject
public <O> void setObject(IvMObject<O> objectName, O object)
Description copied from interface:DataChainSets an object and starts executing the chain accordingly.
-
executeLink
public void executeLink(java.lang.Class<? extends DataChainLink<C>> clazz)
Description copied from interface:DataChainExecute an arbitrary chain link of the given class
-
executeLink
public void executeLink(DataChainLink<C> chainLink)
Description copied from interface:DataChainInvalidate and execute the given chain link.
-
getObjectValues
public FutureImpl getObjectValues(IvMObject<?>... objects)
Description copied from interface:DataChainGet values from the state if they are available. Objects do not need to be available before calling this method.- Returns:
- the requested values that are available
-
setFixedObject
public <O> void setFixedObject(IvMObject<O> object, O value)
Description copied from interface:DataChainSet 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).
-
processOutputsOfChainLink
public void processOutputsOfChainLink(IvMCanceller canceller, DataChainLinkComputation<C> chainLink, IvMObjectValues outputs)
-
toDot
public org.processmining.plugins.graphviz.dot.Dot toDot()
-
-