de.grogra.rgg.model
Class VVProducer

java.lang.Object
  extended by de.grogra.rgg.model.VVProducer
All Implemented Interfaces:
Producer

public class VVProducer
extends java.lang.Object
implements Producer

Author:
Ole Kniemeyer

Nested Class Summary
 class VVProducer.AddNeighbor
           
 class VVProducer.End
           
 class VVProducer.InsertReplaceDelete
           
 class VVProducer.InsertReplaceSplitSet
           
static class VVProducer.NotGRSVertex
           
 class VVProducer.Split
           
 
Field Summary
 
Fields inherited from interface de.grogra.xl.query.Producer
DOUBLE_ARROW, EXECUTION_ARROW, SIMPLE_ARROW
 
Method Summary
static VVProducer.NotGRSVertex operator$com(GRSVertex v)
           
 VVProducer.InsertReplaceSplitSet operator$space(GRSVertex v)
           
 VVProducer.InsertReplaceDelete operator$space(VVProducer.NotGRSVertex v)
           
 VVProducer producer$begin()
           
 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$end()
           
 void producer$endExecution(boolean applied)
          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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

operator$com

public static VVProducer.NotGRSVertex operator$com(GRSVertex v)

operator$space

public VVProducer.InsertReplaceSplitSet operator$space(GRSVertex v)

operator$space

public VVProducer.InsertReplaceDelete operator$space(VVProducer.NotGRSVertex v)

producer$begin

public VVProducer producer$begin()

producer$beginExecution

public boolean producer$beginExecution(int arrow)
Description copied from interface: Producer
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).

Specified by:
producer$beginExecution in interface Producer
Parameters:
arrow - the type of rule arrow, one of Producer.SIMPLE_ARROW, Producer.DOUBLE_ARROW, Producer.EXECUTION_ARROW
Returns:
true if the right-hand side shall be executed, false if its execution shall be skipped

producer$end

public void producer$end()

producer$endExecution

public void producer$endExecution(boolean applied)
Description copied from interface: Producer
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.

Specified by:
producer$endExecution in interface Producer
Parameters:
applied - return value of invocation of Producer.producer$beginExecution(int)

producer$getGraph

public Graph producer$getGraph()
Description copied from interface: Producer
Returns the graph for which this producer constructs the right-hand side structur.

Specified by:
producer$getGraph in interface Producer
Returns:
the graph on which this producer operates

producer$visitEdge

public void producer$visitEdge(EdgePattern pattern)
Specified by:
producer$visitEdge in interface Producer