static class NativizeSetFunDef.NonNativeCalc extends Object implements Calc
| Modifier and Type | Field and Description | 
|---|---|
(package private) boolean | 
nativeEnabled  | 
(package private) Calc | 
parent  | 
| Modifier | Constructor and Description | 
|---|---|
protected  | 
NativizeSetFunDef.NonNativeCalc(Calc parent,
                               boolean nativeEnabled)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
accept(CalcWriter calcWriter)
Prints this expression, by accepting a visiting  
CalcWriter. | 
boolean | 
dependsOn(Hierarchy hierarchy)
Returns whether this expression depends upon a given hierarchy. 
 | 
Object | 
evaluate(Evaluator evaluator)
Evaluates this expression. 
 | 
ResultStyle | 
getResultStyle()
Returns style in which the result of evaluating this expression is
 returned. 
 | 
Type | 
getType()
Returns the type of this expression. 
 | 
boolean | 
isWrapperFor(Class<?> iface)
 Default implementation just does 'instanceof TargetClass'. 
 | 
<T> T | 
unwrap(Class<T> iface)
 Default implementation just casts to TargetClass. 
 | 
final Calc parent
final boolean nativeEnabled
protected NativizeSetFunDef.NonNativeCalc(Calc parent, boolean nativeEnabled)
public Object evaluate(Evaluator evaluator)
Calcpublic boolean dependsOn(Hierarchy hierarchy)
CalcIf it does not depend on the hierarchy, then re-evaluating the expression with a different member of this context must produce the same answer.
Some examples:[Measures].[Unit Sales]
 depends on all dimensions except [Measures].
 ([Measures].[Unit Sales],
 [Time].[1997]) > 1000
 depends on all hierarchies except [Measures] and [Time].
 Filter([Store].[USA].Children,
 [Measures].[Unit Sales] < 50)
 depends upon all hierarchies except [Store] and [Measures].
 How so? Normally the scalar expression would depend upon all hierarchies
 except [Measures], but the Filter function sets the [Store]
 context before evaluating the scalar expression, so it is not inherited
 from the surrounding context.
 public Type getType()
Calcpublic void accept(CalcWriter calcWriter)
CalcCalcWriter.public ResultStyle getResultStyle()
CalcOne application of this method is for the compiler to figure out whether the compiled expression is returning a mutable list. If a mutable list is required, the compiler can create a mutable copy.
getResultStyle in interface CalcExpCompiler.compileList(mondrian.olap.Exp, boolean)public boolean isWrapperFor(Class<?> iface)
isWrapperFor in interface Calc