mondrian.calc.impl
Class MemberValueCalc

java.lang.Object
  extended by mondrian.calc.impl.AbstractCalc
      extended by mondrian.calc.impl.GenericCalc
          extended by mondrian.calc.impl.MemberValueCalc
All Implemented Interfaces:
BooleanCalc, Calc, DateTimeCalc, DimensionCalc, DoubleCalc, HierarchyCalc, IntegerCalc, IterCalc, LevelCalc, ListCalc, MemberCalc, MemberListCalc, StringCalc, TupleCalc, TupleListCalc, VoidCalc

public class MemberValueCalc
extends GenericCalc

Expression which evaluates a few member expressions, sets the dimensional context to the result of those expressions, then yields the value of the current measure in the current dimensional context.

The evaluator's context is preserved.

Note that a MemberValueCalc with 0 member expressions is equivalent to a ValueCalc; see also TupleValueCalc.

Since:
Sep 27, 2005
Author:
jhyde
 

Field Summary
 
Fields inherited from class mondrian.calc.impl.AbstractCalc
exp, type
 
Constructor Summary
MemberValueCalc(Exp exp, MemberCalc[] memberCalcs)
           
 
Method Summary
 boolean dependsOn(Dimension dimension)
          Returns whether this expression depends upon a given dimension.
 Object evaluate(Evaluator evaluator)
          Evaluates this expression.
 Calc[] getCalcs()
          Returns this expression's child expressions.
 
Methods inherited from class mondrian.calc.impl.GenericCalc
evaluateBoolean, evaluateDateTime, evaluateDimension, evaluateDouble, evaluateHierarchy, evaluateInteger, evaluateIterable, evaluateLevel, evaluateList, evaluateMember, evaluateMemberIterable, evaluateMemberList, evaluateString, evaluateTuple, evaluateTupleIterable, evaluateTupleList, evaluateVoid, numberToDouble
 
Methods inherited from class mondrian.calc.impl.AbstractCalc
accept, anyDepends, anyDependsButFirst, butDepends, getArguments, getName, getResultStyle, 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.Calc
accept, getResultStyle, getType
 

Constructor Detail

MemberValueCalc

public MemberValueCalc(Exp exp,
                       MemberCalc[] memberCalcs)
Method Detail

evaluate

public Object evaluate(Evaluator evaluator)
Description copied from interface: Calc
Evaluates this expression.

Parameters:
evaluator - Provides dimensional context in which to evaluate this expression
Returns:
Result of expression evaluation

getCalcs

public Calc[] getCalcs()
Description copied from class: AbstractCalc
Returns this expression's child expressions.

Specified by:
getCalcs in class AbstractCalc

dependsOn

public boolean dependsOn(Dimension dimension)
Description copied from interface: Calc
Returns whether this expression depends upon a given dimension.

If it does not depend on the dimension, then re-evaluating the expression with a different member of this context must produce the same answer.

Some examples:

Specified by:
dependsOn in interface Calc
Overrides:
dependsOn in class AbstractCalc
Parameters:
dimension - Dimension
Returns:
Whether this expression's result depends upon the current member of the dimension

SourceForge.net_Logo