Module xl

Interface Producer

All Known Implementing Classes:
DOMProducer, ParallelProducer, Producer, RGGProducer, SimpleProducer, VVProducer

public interface Producer
A Producer is used within right hand sides of XL rules in order to construct the replacement for the match of the left hand side.
Author:
Ole Kniemeyer
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Indicates the XL rule arrow ==>>.
    static final int
    Indicates the XL rule arrow ::>.
    static final int
    Indicates the XL rule arrow ==>.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    This method is invoked by the XL run-time system in order to notify the producer about the beginning of a right-hand side (i.e., a match for the left-hand side has been found, and the right-hand side is executed).
    void
    producer$endExecution(boolean executed)
    This method is invoked by the XL run-time system in order to notify the producer about the end of the execution of a right-hand side.
    Returns the graph for which this producer constructs the right-hand side structur.
    void
     
  • Field Details

    • SIMPLE_ARROW

      static final int SIMPLE_ARROW
      Indicates the XL rule arrow ==>.
      See Also:
    • DOUBLE_ARROW

      static final int DOUBLE_ARROW
      Indicates the XL rule arrow ==>>.
      See Also:
    • EXECUTION_ARROW

      static final int EXECUTION_ARROW
      Indicates the XL rule arrow ::>.
      See Also:
  • Method Details

    • producer$beginExecution

      boolean producer$beginExecution(int arrow)
      This method is invoked by the XL run-time system in order to notify the producer about the beginning of a right-hand side (i.e., a match for the left-hand side has been found, and the right-hand side is executed).
      Parameters:
      arrow - the type of rule arrow, one of SIMPLE_ARROW, DOUBLE_ARROW, EXECUTION_ARROW
      Returns:
      true if the right-hand side shall be executed, false if its execution shall be skipped
    • producer$endExecution

      void producer$endExecution(boolean executed)
      This method is invoked by the XL run-time system in order to notify the producer about the end of the execution of a right-hand side.
      Parameters:
      executed - return value of invocation of producer$beginExecution(int)
    • producer$visitEdge

      void producer$visitEdge(EdgePattern pattern)
    • producer$getGraph

      Graph producer$getGraph()
      Returns the graph for which this producer constructs the right-hand side structur.
      Returns:
      the graph on which this producer operates