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 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 -
      • setOnException

        void setOnException​(OnException onException)
      • setOnStatus

        void setOnStatus​(OnStatus<C> onStatus)
      • getOnChange

        java.lang.Runnable getOnChange()
      • setOnChange

        void setOnChange​(java.lang.Runnable onChange)
      • toDot

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