Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.grogra.xl.query
Interface Producer

All Known Implementing Classes:
  DOMProducer, 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
`static int` | `DOUBLE_ARROW` Indicates the XL rule arrow `==>>`.
`static int` | `EXECUTION_ARROW` Indicates the XL rule arrow `::>`.
`static int` | `SIMPLE_ARROW` Indicates the XL rule arrow `==>`.

Method Summary
`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).
`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.
`Graph` | `producer$getGraph()` Returns the graph for which this producer constructs the right-hand side structur.
`void` | `producer$visitEdge(EdgePattern pattern)`

Field Detail

### DOUBLE_ARROW

    static final int DOUBLE_ARROW

  Indicates the XL rule arrow `==>>`.

  See Also:
    Constant Field Values

### EXECUTION_ARROW

    static final int EXECUTION_ARROW

  Indicates the XL rule arrow `::>`.

  See Also:
    Constant Field Values

### SIMPLE_ARROW

    static final int SIMPLE_ARROW

  Indicates the XL rule arrow `==>`.

  See Also:
    Constant Field Values

Method Detail

### 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$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

### producer$visitEdge

    void producer$visitEdge(EdgePattern pattern)

Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD