net.sf.saffron.opt
Class VolcanoRuleCall

java.lang.Object
  |
  +--net.sf.saffron.opt.VolcanoRuleCall
Direct Known Subclasses:
VolcanoPlanner.DeferringRuleCall, VolcanoRuleMatch

public class VolcanoRuleCall
extends Object

A VolcanoRuleCall is an invocation of a VolcanoRule with a set of relational expressions as arguments.


Field Summary
 RuleOperand operand0
           
 SaffronRel[] rels
           
 VolcanoRule rule
           
 
Constructor Summary
(package private) VolcanoRuleCall(RuleOperand operand)
           
protected VolcanoRuleCall(RuleOperand operand, SaffronRel[] rels)
           
 
Method Summary
 SaffronPlanner getPlanner()
           
(package private)  VolcanoRule getRule()
           
(package private)  void match(SaffronRel rel)
          Applies this rule, with a given relexp in the first slot.
private  void matchRecurse(int solve)
           
protected  void onMatch()
          Called when all operands have matched.
 void transformTo(SaffronRel rel)
          Called by the rule whenever it finds a match.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

operand0

public final RuleOperand operand0

rule

public final VolcanoRule rule

rels

public final SaffronRel[] rels
Constructor Detail

VolcanoRuleCall

protected VolcanoRuleCall(RuleOperand operand,
                          SaffronRel[] rels)

VolcanoRuleCall

VolcanoRuleCall(RuleOperand operand)
Method Detail

getPlanner

public SaffronPlanner getPlanner()

transformTo

public void transformTo(SaffronRel rel)
Called by the rule whenever it finds a match.


onMatch

protected void onMatch()
Called when all operands have matched.


getRule

VolcanoRule getRule()

match

void match(SaffronRel rel)
Applies this rule, with a given relexp in the first slot.

Pre-condition:
operand0.matches(rel)

matchRecurse

private void matchRecurse(int solve)
Pre-condition:
solve > 0, solve <= rule.operands.length

SourceForge.net_Logo