net.sf.farrago.ojrex
Class FarragoOJRexCaseImplementor

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

public class FarragoOJRexCaseImplementor
extends FarragoOJRexImplementor

FarragoOJRexCaseImplementor implements Farrago specifics of OJRexImplementor for CASE expressions.

Version:
$Id: //open/dev/farrago/src/net/sf/farrago/ojrex/FarragoOJRexCaseImplementor.java#10 $
Author:
Xiaoyang Luo

Constructor Summary
FarragoOJRexCaseImplementor()
           
 
Method Summary
 boolean canImplement(RexCall call)
          Tests whether it is possible to implement a call.
 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[]).
 
Methods inherited from class net.sf.farrago.ojrex.FarragoOJRexImplementor
implement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FarragoOJRexCaseImplementor

public FarragoOJRexCaseImplementor()
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

canImplement

public boolean canImplement(RexCall call)
Description copied from interface: OJRexImplementor
Tests whether it is possible to implement a call.

Specified by:
canImplement in interface OJRexImplementor
Overrides:
canImplement in class FarragoOJRexImplementor
Parameters:
call - the call for which translation is being considered
Returns:
whether the call can be implemented