net.sf.farrago.fennel.calc
Class RexToCalcTranslator.TranslationTester

java.lang.Object
  extended by org.eigenbase.rex.RexVisitorImpl<Void>
      extended by net.sf.farrago.fennel.calc.RexToCalcTranslator.TranslationTester
All Implemented Interfaces:
RexVisitor<Void>
Enclosing class:
RexToCalcTranslator

private class RexToCalcTranslator.TranslationTester
extends RexVisitorImpl<Void>

Visitor which walks over a row expression and throws RexToCalcTranslator.TranslationException if it finds a node which cannot be implemented.


Field Summary
private  RexToCalcTranslator translator
           
 
Fields inherited from class org.eigenbase.rex.RexVisitorImpl
deep
 
Constructor Summary
RexToCalcTranslator.TranslationTester(RexToCalcTranslator translator, boolean deep)
          Creates a TranslationTester.
 
Method Summary
 Void visitCall(RexCall call)
           
 Void visitCorrelVariable(RexCorrelVariable correlVariable)
           
 Void visitDynamicParam(RexDynamicParam dynamicParam)
           
 Void visitFieldAccess(RexFieldAccess fieldAccess)
           
 Void visitInputRef(RexInputRef inputRef)
           
 Void visitLiteral(RexLiteral literal)
           
 Void visitLocalRef(RexLocalRef localRef)
           
 Void visitOver(RexOver over)
           
 Void visitRangeRef(RexRangeRef rangeRef)
           
 
Methods inherited from class org.eigenbase.rex.RexVisitorImpl
visitArrayAnd, visitArrayOr
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

translator

private final RexToCalcTranslator translator
Constructor Detail

RexToCalcTranslator.TranslationTester

RexToCalcTranslator.TranslationTester(RexToCalcTranslator translator,
                                      boolean deep)
Creates a TranslationTester.

Parameters:
translator - Translator, which provides a table mapping operators to implementations.
deep - If true, tests whether all of the child expressions can be implemented
Method Detail

visitInputRef

public Void visitInputRef(RexInputRef inputRef)
Specified by:
visitInputRef in interface RexVisitor<Void>
Overrides:
visitInputRef in class RexVisitorImpl<Void>

visitLocalRef

public Void visitLocalRef(RexLocalRef localRef)
Specified by:
visitLocalRef in interface RexVisitor<Void>
Overrides:
visitLocalRef in class RexVisitorImpl<Void>

visitCorrelVariable

public Void visitCorrelVariable(RexCorrelVariable correlVariable)
Specified by:
visitCorrelVariable in interface RexVisitor<Void>
Overrides:
visitCorrelVariable in class RexVisitorImpl<Void>

visitLiteral

public Void visitLiteral(RexLiteral literal)
Specified by:
visitLiteral in interface RexVisitor<Void>
Overrides:
visitLiteral in class RexVisitorImpl<Void>

visitFieldAccess

public Void visitFieldAccess(RexFieldAccess fieldAccess)
Specified by:
visitFieldAccess in interface RexVisitor<Void>
Overrides:
visitFieldAccess in class RexVisitorImpl<Void>

visitCall

public Void visitCall(RexCall call)
Specified by:
visitCall in interface RexVisitor<Void>
Overrides:
visitCall in class RexVisitorImpl<Void>

visitOver

public Void visitOver(RexOver over)
Specified by:
visitOver in interface RexVisitor<Void>
Overrides:
visitOver in class RexVisitorImpl<Void>

visitDynamicParam

public Void visitDynamicParam(RexDynamicParam dynamicParam)
Specified by:
visitDynamicParam in interface RexVisitor<Void>
Overrides:
visitDynamicParam in class RexVisitorImpl<Void>

visitRangeRef

public Void visitRangeRef(RexRangeRef rangeRef)
Specified by:
visitRangeRef in interface RexVisitor<Void>
Overrides:
visitRangeRef in class RexVisitorImpl<Void>