|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectmondrian.calc.impl.AbstractCalc
mondrian.calc.impl.AbstractIterCalc
public abstract class AbstractIterCalc
Abstract implementation of the IterCalc
interface.
The derived class must
implement the IterCalc.evaluateIterable(mondrian.olap.Evaluator)
method,
and the evaluate(mondrian.olap.Evaluator)
method will call it.
Field Summary | |
---|---|
protected boolean |
tuple
|
Fields inherited from class mondrian.calc.impl.AbstractCalc |
---|
exp, type |
Constructor Summary | |
---|---|
protected |
AbstractIterCalc(Exp exp,
Calc[] calcs)
Creates an abstract implementation of a compiled expression which returns an Iterable. |
Method Summary | |
---|---|
Object |
evaluate(Evaluator evaluator)
Evaluates this expression. |
protected Iterable |
evaluateEitherIterable(Evaluator evaluator)
Helper method with which to implement IterCalc.evaluateIterable(mondrian.olap.Evaluator)
if you have implemented evaluateMemberIterable(mondrian.olap.Evaluator) and
evaluateTupleIterable(mondrian.olap.Evaluator) . |
Iterable<Member> |
evaluateMemberIterable(Evaluator evaluator)
Available implementation of MemberIterCalc.evaluateMemberIterable(mondrian.olap.Evaluator)
if the subclass chooses to implement
MemberIterCalc . |
Iterable<Member[]> |
evaluateTupleIterable(Evaluator evaluator)
Available implementation of TupleIterCalc.evaluateTupleIterable(mondrian.olap.Evaluator)
if the subclass chooses to implement
TupleIterCalc . |
ResultStyle |
getResultStyle()
Returns style in which the result of evaluating this expression is returned. |
Methods inherited from class mondrian.calc.impl.AbstractCalc |
---|
accept, anyDepends, anyDependsButFirst, butDepends, dependsOn, getArguments, getCalcs, getName, getType, simplifyEvaluator |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface mondrian.calc.IterCalc |
---|
evaluateIterable |
Methods inherited from interface mondrian.calc.Calc |
---|
accept, dependsOn, getType |
Field Detail |
---|
protected final boolean tuple
Constructor Detail |
---|
protected AbstractIterCalc(Exp exp, Calc[] calcs)
exp
- Expression which was compiledcalcs
- List of child compiled expressions (for dependency
analysis)Method Detail |
---|
public Object evaluate(Evaluator evaluator)
Calc
evaluate
in interface Calc
evaluator
- Provides dimensional context in which to evaluate
this expression
protected Iterable evaluateEitherIterable(Evaluator evaluator)
IterCalc.evaluateIterable(mondrian.olap.Evaluator)
if you have implemented evaluateMemberIterable(mondrian.olap.Evaluator)
and
evaluateTupleIterable(mondrian.olap.Evaluator)
.
evaluator
- Evaluator
public ResultStyle getResultStyle()
Calc
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.
getResultStyle
in interface Calc
getResultStyle
in class AbstractCalc
ExpCompiler.compileList(mondrian.olap.Exp, boolean)
public Iterable<Member> evaluateMemberIterable(Evaluator evaluator)
MemberIterCalc.evaluateMemberIterable(mondrian.olap.Evaluator)
if the subclass chooses to implement
MemberIterCalc
.
evaluator
- Evaluation context
public Iterable<Member[]> evaluateTupleIterable(Evaluator evaluator)
TupleIterCalc.evaluateTupleIterable(mondrian.olap.Evaluator)
if the subclass chooses to implement
TupleIterCalc
.
evaluator
- Evaluation context
|
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |