net.sf.farrago.ojrex
Class FarragoOJRexContextVariableImplementor

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

public class FarragoOJRexContextVariableImplementor
extends Object
implements OJRexImplementor

Implements Farrago specifics of OJRexImplementor for context variables such as "USER" and "SESSION_USER".

For example, "USER" becomes "connection.getContextVariable_USER()".

Version:
$Id: //open/dev/farrago/src/net/sf/farrago/ojrex/FarragoOJRexContextVariableImplementor.java#9 $
Author:
Julian Hyde

Field Summary
private  String name
           
 
Constructor Summary
FarragoOJRexContextVariableImplementor(String name)
           
 
Method Summary
 boolean canImplement(RexCall call)
          Tests whether it is possible to implement a call.
 Expression implement(RexToOJTranslator translator, RexCall call, Expression[] operands)
          Implements a single RexCall.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

private final String name
Constructor Detail

FarragoOJRexContextVariableImplementor

public FarragoOJRexContextVariableImplementor(String name)
Method Detail

implement

public Expression implement(RexToOJTranslator translator,
                            RexCall call,
                            Expression[] operands)
Description copied from interface: OJRexImplementor
Implements a single RexCall.

Specified by:
implement in interface OJRexImplementor
Parameters:
translator - provides 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
Parameters:
call - the call for which translation is being considered
Returns:
whether the call can be implemented