net.sf.farrago.ojrex
Class FarragoOJRexBinaryExpressionImplementor

java.lang.Object
  extended by net.sf.farrago.ojrex.FarragoOJRexImplementor
      extended by net.sf.farrago.ojrex.FarragoOJRexBinaryExpressionImplementor
All Implemented Interfaces:
OJRexImplementor

public class FarragoOJRexBinaryExpressionImplementor
extends FarragoOJRexImplementor

FarragoOJRexBinaryExpressionImplementor implements Farrago specifics of OJRexImplementor for row expressions which can be translated to instances of OpenJava BinaryExpression.

Version:
$Id: //open/dev/farrago/src/net/sf/farrago/ojrex/FarragoOJRexBinaryExpressionImplementor.java#18 $
Author:
John V. Sichi

Field Summary
private  int ojBinaryExpressionOrdinal
           
 
Constructor Summary
FarragoOJRexBinaryExpressionImplementor(int ojBinaryExpressionOrdinal)
           
 
Method Summary
private  Statement checkOverflow(Expression expr, RelDataType returnType)
           
private  Expression implement3VL(FarragoRexToOJTranslator translator, RexCall call, Expression[] operands, Expression[] valueOperands, Expression varResult, String methodName)
           
 Expression implementFarrago(FarragoRexToOJTranslator translator, RexCall call, Expression[] operands)
          Refined version of OJRexImplementor.implement(org.eigenbase.oj.rex.RexToOJTranslator, org.eigenbase.rex.RexCall, openjava.ptree.Expression[]).
private  Expression implementNotNull(FarragoRexToOJTranslator translator, RexCall call, Expression[] operands)
           
 
Methods inherited from class net.sf.farrago.ojrex.FarragoOJRexImplementor
canImplement, implement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ojBinaryExpressionOrdinal

private final int ojBinaryExpressionOrdinal
Constructor Detail

FarragoOJRexBinaryExpressionImplementor

public FarragoOJRexBinaryExpressionImplementor(int ojBinaryExpressionOrdinal)
Method Detail

implementFarrago

public Expression implementFarrago(FarragoRexToOJTranslator translator,
                                   RexCall call,
                                   Expression[] operands)
Description copied from class: FarragoOJRexImplementor
Refined version of OJRexImplementor.implement(org.eigenbase.oj.rex.RexToOJTranslator, org.eigenbase.rex.RexCall, openjava.ptree.Expression[]).

Specified by:
implementFarrago in class FarragoOJRexImplementor
Parameters:
translator - provides Farrago-specific translation context
call - the call to be translated
operands - call's operands, which have already been translated independently

implement3VL

private Expression implement3VL(FarragoRexToOJTranslator translator,
                                RexCall call,
                                Expression[] operands,
                                Expression[] valueOperands,
                                Expression varResult,
                                String methodName)

implementNotNull

private Expression implementNotNull(FarragoRexToOJTranslator translator,
                                    RexCall call,
                                    Expression[] operands)

checkOverflow

private Statement checkOverflow(Expression expr,
                                RelDataType returnType)