de.grogra.xl.impl.simple
Class SimpleProducer

java.lang.Object
  extended by de.grogra.xl.impl.base.Producer
      extended by de.grogra.xl.impl.simple.SimpleProducer
All Implemented Interfaces:
Producer, java.util.concurrent.Executor

public class SimpleProducer
extends Producer


Field Summary
 
Fields inherited from class de.grogra.xl.impl.base.Producer
addNodeQueue, deleteEdgeQueue, deleteNodeQueue
 
Fields inherited from interface de.grogra.xl.query.Producer
DOUBLE_ARROW, EXECUTION_ARROW, SIMPLE_ARROW
 
Constructor Summary
SimpleProducer(QueryState match)
           
 
Method Summary
 void applyDerivation()
           
 SimpleProducer operator$arrow(Node node, int edge)
           
 SimpleProducer operator$space(Node node)
           
 SimpleProducer 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.
 Node producer$getRoot()
           
 SimpleProducer producer$pop(java.lang.Object oldProducer)
           
 SimpleProducer producer$push()
           
 SimpleProducer producer$separate()
           
 
Methods inherited from class de.grogra.xl.impl.base.Producer
addEdgeImpl, addNodeImpl, connect, consume, copyIncoming, copyOutgoing, cut, execute, getPreviousNode, getQueryState, getQueue, getQueues, interpretive, moveIncoming, moveOutgoing, nodeUsed, popImpl, producer$getGraph, producer$visitEdge, pushImpl, separateImpl, setConnectionEdges, setInConnectionEdges, setOutConnectionEdges, useOperators
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleProducer

public SimpleProducer(QueryState match)
Method Detail

applyDerivation

public void applyDerivation()

operator$arrow

public SimpleProducer operator$arrow(Node node,
                                     int edge)

operator$space

public SimpleProducer operator$space(Node node)

producer$begin

public SimpleProducer 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
Overrides:
producer$beginExecution in class 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
Overrides:
producer$endExecution in class Producer
Parameters:
applied - return value of invocation of Producer.producer$beginExecution(int)

producer$getRoot

public Node producer$getRoot()

producer$pop

public SimpleProducer producer$pop(java.lang.Object oldProducer)

producer$push

public SimpleProducer producer$push()

producer$separate

public SimpleProducer producer$separate()