net.sf.farrago.ojrex
Class FarragoOJRexStaticMethodImplementor
java.lang.Object
net.sf.farrago.ojrex.FarragoOJRexImplementor
net.sf.farrago.ojrex.FarragoOJRexStaticMethodImplementor
- All Implemented Interfaces:
- OJRexImplementor
public class FarragoOJRexStaticMethodImplementor
- extends FarragoOJRexImplementor
FarragoOJRexStaticMethodImplementor implements OJRexImplementor
by generating a call to a static Java
method.
- Version:
- $Id: //open/dev/farrago/src/net/sf/farrago/ojrex/FarragoOJRexStaticMethodImplementor.java#15 $
- Author:
- John V. Sichi
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
method
private final Method method
allowSql
private final boolean allowSql
returnType
private final RelDataType returnType
declaringClass
private final Class declaringClass
methodName
private final String methodName
FarragoOJRexStaticMethodImplementor
public FarragoOJRexStaticMethodImplementor(Method method,
boolean allowSql,
RelDataType returnType)
- Creates an implementor for a call to a user-defined routine (UDR)
implemented as an external Java static method.
- Parameters:
method
- UDR implementationallowSql
- whether to allow reentrant invocation of SQL from within
the called methodreturnType
- SQL type to impose on returned Java value
FarragoOJRexStaticMethodImplementor
public FarragoOJRexStaticMethodImplementor(Class declaringClass,
String methodName)
- Creates an implementor for a call to a system-provided static method.
- Parameters:
declaringClass
- class which declares methodmethodName
- name of static method; overload resolution happens
implicitly based on operand types in each invocation
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 contextcall
- the call to be translatedoperands
- call's operands, which have already been translated
independently
implementSystemCall
private Expression implementSystemCall(FarragoRexToOJTranslator translator,
RexCall call,
Expression[] operands)