Interface NESTWorkflowObject

All Superinterfaces:
DataObject, Iterable<NESTSequenceNodeObject>, NESTAbstractWorkflowObject, NESTGraphObject, PropertyHandler
All Known Implementing Classes:
NESTWorkflowObjectImpl

public interface NESTWorkflowObject extends NESTAbstractWorkflowObject
Interface of a NEST-graph-object. Represents the graph as a whole and contains the nodes and edges for this NESTgraph.
Author:
Alexander Stromer
  • Method Details

    • registerEventListener

      void registerEventListener(NESTGraphListener consumer) throws Exception
      Registers the given listener. All changes to the graph are then also published to the list of listeners.
      Parameters:
      consumer - the instantiated listener, which should be registered
      Throws:
      Exception
    • unregisterEventListener

      void unregisterEventListener(NESTGraphListener consumer)
      Unregisters the given listener.
      Parameters:
      consumer -
    • getEventListeners

      List<NESTGraphListener> getEventListeners()
      Returns the list of listeners currently registered.
      Returns:
    • enableBlockRepresentation

      void enableBlockRepresentation() throws Exception
      Registers a listener internally, and transforms the current state of the graph into the corresponding workflow-block-representation. Be aware that at this time, the current state of the graph when calling this method, will be transformed. No listening to further events will be caught, because of consistency-limitations for graph → block transformation. If you need to update the block-representation, just call this method again.
      Throws:
      Exception
    • getBlockRepresentation

      WorkflowObject getBlockRepresentation()
      Returns the current Cake2Workflow-object-representation for the graph.
      Returns:
    • getVisualizer

      NESTWorkflowVisualizer getVisualizer()
      Returns the default visualizer for this graph. A visualizer can be a normal printer or a GUI implementation.
      Specified by:
      getVisualizer in interface NESTGraphObject
      Returns:
    • getVisualizer

      NESTWorkflowVisualizer getVisualizer(Class clazz)
      Returns the given visualizer. A visualizer can be a normal printer or a GUI implementation.
      Specified by:
      getVisualizer in interface NESTGraphObject
      Parameters:
      clazz - class of the desired visualizer
      Returns:
    • getModifier

      NESTWorkflowModifier getModifier()
      Returns the modifier.
      Specified by:
      getModifier in interface NESTAbstractWorkflowObject
      Specified by:
      getModifier in interface NESTGraphObject
      Returns:
    • getExtractor

      NESTWorkflowExtractor getExtractor()
      Returns the extractor.
      Returns:
    • getControlflowNodes

      Set<NESTControlflowNodeObject> getControlflowNodes()
      Returns complete set of controlflow nodes registered in the graph.
      Returns:
      list of controlflow nodes
    • getStartControlflowNodes

      Set<NESTControlflowNodeObject> getStartControlflowNodes()
      Returns complete set of start controlflow nodes registered in the graph. (These nodes are either loop joins or and/xor splits.)
      Returns:
      list of controlflow nodes
    • getEndControlflowNodes

      Set<NESTControlflowNodeObject> getEndControlflowNodes()
      Returns complete set of end controlflow nodes registered in the graph. (These nodes are either loop joins or and/xor splits.)
      Returns:
      list of controlflow nodes
    • getLoopStartNodes

      Set<NESTControlflowNodeObject> getLoopStartNodes()
      Returns complete set of loop join nodes registered in the graph.
      Returns:
      list of loop start nodes
    • getLoopEndNodes

      Set<NESTControlflowNodeObject> getLoopEndNodes()
      Returns complete set of loop split nodes registered in the graph.
      Returns:
      list of loop end nodes
    • getAndStartNodes

      Set<NESTControlflowNodeObject> getAndStartNodes()
      Returns complete set of and split nodes registered in the graph.
      Returns:
      list of and start nodes
    • getAndEndNodes

      Set<NESTControlflowNodeObject> getAndEndNodes()
      Returns complete set of and join nodes registered in the graph.
      Returns:
      list of and end nodes
    • getOrStartNodes

      Set<NESTControlflowNodeObject> getOrStartNodes()
      Returns complete set of or split nodes registered in the graph.
      Returns:
      list of or start nodes
    • getOrEndNodes

      Set<NESTControlflowNodeObject> getOrEndNodes()
      Returns complete set of or join nodes registered in the graph.
      Returns:
      list of or end nodes
    • getXorStartNodes

      Set<NESTControlflowNodeObject> getXorStartNodes()
      Returns complete set of xor split nodes registered in the graph.
      Returns:
      list of xor start nodes
    • getXorEndNodes

      Set<NESTControlflowNodeObject> getXorEndNodes()
      Returns complete set of xor join nodes registered in the graph.
      Returns:
      list of xor end nodes