Package mondrian.calc.impl
Class AbstractIterCalc
- java.lang.Object
-
- mondrian.calc.impl.AbstractCalc
-
- mondrian.calc.impl.AbstractIterCalc
-
- Direct Known Subclasses:
SetFunDef.ExprIterCalc
public abstract class AbstractIterCalc extends AbstractCalc implements IterCalc
Abstract implementation of theIterCalc
interface.The derived class must implement the
IterCalc.evaluateIterable(mondrian.olap.Evaluator)
method, and theevaluate(mondrian.olap.Evaluator)
method will call it.- Since:
- Oct 24, 2008
- Author:
- jhyde
- See Also:
AbstractListCalc
-
-
Field Summary
-
Fields inherited from class mondrian.calc.impl.AbstractCalc
exp, type
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractIterCalc(Exp exp, Calc[] calcs)
Creates an abstract implementation of a compiled expression which returns aTupleIterable
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
evaluate(Evaluator evaluator)
Evaluates this expression.ResultStyle
getResultStyle()
Returns style in which the result of evaluating this expression is returned.SetType
getType()
Returns the type of this expression.String
toString()
-
Methods inherited from class mondrian.calc.impl.AbstractCalc
accept, anyDepends, anyDependsButFirst, butDepends, collectArguments, dependsOn, getArguments, getCalcs, getName, isWrapperFor, simplifyEvaluator, unwrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface mondrian.calc.Calc
accept, dependsOn, isWrapperFor, unwrap
-
Methods inherited from interface mondrian.calc.IterCalc
evaluateIterable
-
-
-
-
Constructor Detail
-
AbstractIterCalc
protected AbstractIterCalc(Exp exp, Calc[] calcs)
Creates an abstract implementation of a compiled expression which returns aTupleIterable
.- Parameters:
exp
- Expression which was compiledcalcs
- List of child compiled expressions (for dependency analysis)
-
-
Method Detail
-
getType
public SetType getType()
Description copied from interface:Calc
Returns the type of this expression.- Specified by:
getType
in interfaceCalc
- Overrides:
getType
in classAbstractCalc
-
evaluate
public final Object evaluate(Evaluator evaluator)
Description copied from interface:Calc
Evaluates this expression.
-
getResultStyle
public ResultStyle getResultStyle()
Description copied from interface:Calc
Returns style in which the result of evaluating this expression is returned.One 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.
- Specified by:
getResultStyle
in interfaceCalc
- Overrides:
getResultStyle
in classAbstractCalc
- See Also:
ExpCompiler.compileList(mondrian.olap.Exp, boolean)
-
-