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)