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
 
 
 - 
 
 -