Package mondrian.calc.impl
Class AbstractListCalc
java.lang.Object
mondrian.calc.impl.AbstractCalc
mondrian.calc.impl.AbstractListCalc
- Direct Known Subclasses:
IterableListCalc
,NativizeSetFunDef.NativeListCalc
,SetFunDef.SetListCalc
Abstract implementation of the
ListCalc
interface.
The derived class must
implement the ListCalc.evaluateList(mondrian.olap.Evaluator)
method, and the evaluate(mondrian.olap.Evaluator)
method will call it.
- Since:
- Sep 27, 2005
- Author:
- jhyde
-
Field Summary
Fields inherited from class mondrian.calc.impl.AbstractCalc
exp, type
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractListCalc
(Exp exp, Calc[] calcs) Creates an abstract implementation of a compiled expression which returns a mutable list of tuples.protected
AbstractListCalc
(Exp exp, Calc[] calcs, boolean mutable) Creates an abstract implementation of a compiled expression which returns a list. -
Method Summary
Modifier and TypeMethodDescriptionfinal Object
Evaluates this expression.evaluateIterable
(Evaluator evaluator) Evaluates an expression to yield an Iterable of members or tuples.Returns style in which the result of evaluating this expression is returned.getType()
Returns the type of this expression.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.ListCalc
evaluateList
-
Constructor Details
-
AbstractListCalc
Creates an abstract implementation of a compiled expression which returns a mutable list of tuples.- Parameters:
exp
- Expression which was compiledcalcs
- List of child compiled expressions (for dependency analysis)
-
AbstractListCalc
Creates an abstract implementation of a compiled expression which returns a list.- Parameters:
exp
- Expression which was compiledcalcs
- List of child compiled expressions (for dependency analysis)mutable
- Whether the list is mutable
-
-
Method Details
-
getType
Description copied from interface:Calc
Returns the type of this expression.- Specified by:
getType
in interfaceCalc
- Overrides:
getType
in classAbstractCalc
-
evaluate
Description copied from interface:Calc
Evaluates this expression. -
evaluateIterable
Description copied from interface:IterCalc
Evaluates an expression to yield an Iterable of members or tuples.The Iterable is immutable.
- Specified by:
evaluateIterable
in interfaceIterCalc
- Parameters:
evaluator
- Evaluation context- Returns:
- An Iterable of members or tuples, never null.
-
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:
-
toString
-