Class DataChainInternal<C,​P>

  • Type Parameters:
    P - panel
    C - configuration

    public class DataChainInternal<C,​P>
    extends java.lang.Object
    This is the actual data chain that handles execution of computations and updating of the gui. It is to be accessed using DataChainImplNonBlocking, as this class is not thread safe.
    Author:
    sander
    • Field Detail

      • executionCancellers

        public final gnu.trove.map.hash.THashMap<DataChainLinkComputation<C>,​IvMCanceller> executionCancellers
        Idea: each execution of a chain link has its own canceller. As long as this canceller is not cancelled, the job is still valid.
    • Constructor Detail

      • DataChainInternal

        public DataChainInternal​(DataChainImplNonBlocking<C,​P> parentChain,
                                 DataState state,
                                 org.processmining.framework.plugin.ProMCanceller canceller,
                                 java.util.concurrent.Executor executor,
                                 C configuration,
                                 P panel)
    • Method Detail

      • setObject

        public <O> void setObject​(IvMObject<O> objectName,
                                  O object)
        Sets an object and starts executing the chain accordingly.
      • setFixedObject

        public <O> void setFixedObject​(IvMObject<O> object,
                                       O value)
        Sets an object such that it cannot be changed anymore. It will execute the chain for this call, but afterwards this object will not trigger anything anymore. Chain link computations that have this object as an output will not be executed.
        Parameters:
        object -
        value -
      • contains

        public static boolean contains​(IvMObject<?>[] haystack,
                                       IvMObject<?> needle)
      • executeLink

        public void executeLink​(DataChainLink<C> chainLink)
      • getObjectValues

        public void getObjectValues​(IvMObject<?>[] objects,
                                    FutureImpl values)
      • toDot

        public org.processmining.plugins.graphviz.dot.Dot toDot()