Package mondrian.calc.impl
Class ValueCalc
- java.lang.Object
-
- mondrian.calc.impl.AbstractCalc
-
- mondrian.calc.impl.GenericCalc
-
- mondrian.calc.impl.ValueCalc
-
- All Implemented Interfaces:
BooleanCalc,Calc,DateTimeCalc,DimensionCalc,DoubleCalc,HierarchyCalc,IntegerCalc,LevelCalc,MemberCalc,StringCalc,TupleCalc,VoidCalc
public class ValueCalc extends GenericCalc
Expression which yields the value of the current member in the current dimensional context.- Since:
- Sep 27, 2005
- Author:
- jhyde
- See Also:
MemberValueCalc
-
-
Field Summary
-
Fields inherited from class mondrian.calc.impl.AbstractCalc
exp, type
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleandependsOn(Hierarchy hierarchy)Returns whether this expression depends upon a given hierarchy.Objectevaluate(Evaluator evaluator)Evaluates this expression.-
Methods inherited from class mondrian.calc.impl.GenericCalc
evaluateBoolean, evaluateDateTime, evaluateDimension, evaluateDouble, evaluateHierarchy, evaluateInteger, evaluateLevel, evaluateMember, evaluateString, evaluateTuple, evaluateVoid, numberToDouble
-
Methods inherited from class mondrian.calc.impl.AbstractCalc
accept, anyDepends, anyDependsButFirst, butDepends, collectArguments, getArguments, getCalcs, getName, getResultStyle, getType, isWrapperFor, simplifyEvaluator, unwrap
-
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, isWrapperFor, unwrap
-
-
-
-
Constructor Detail
-
ValueCalc
public ValueCalc(Exp exp)
Creates a ValueCalc.- Parameters:
exp- Source expression
-
-
Method Detail
-
evaluate
public Object evaluate(Evaluator evaluator)
Description copied from interface:CalcEvaluates this expression.- Parameters:
evaluator- Provides dimensional context in which to evaluate this expression- Returns:
- Result of expression evaluation
-
dependsOn
public boolean dependsOn(Hierarchy hierarchy)
Description copied from interface:CalcReturns whether this expression depends upon a given hierarchy.If 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:- The expression
depends on all dimensions except[Measures].[Unit Sales][Measures]. - The boolean expression
depends on all hierarchies except [Measures] and [Time].([Measures].[Unit Sales], [Time].[1997]) > 1000 - The list expression
depends upon all hierarchies except [Store] and [Measures]. How so? Normally the scalar expression would depend upon all hierarchies except [Measures], but theFilter([Store].[USA].Children, [Measures].[Unit Sales] < 50)Filterfunction sets the [Store] context before evaluating the scalar expression, so it is not inherited from the surrounding context.
- Specified by:
dependsOnin interfaceCalc- Overrides:
dependsOnin classAbstractCalc- Parameters:
hierarchy- Hierarchy- Returns:
- Whether this expression's result depends upon the current member of the hierarchy
- The expression
-
-