Package mondrian.calc.impl
Class ConstantCalc
- java.lang.Object
 - 
- mondrian.calc.impl.AbstractCalc
 - 
- mondrian.calc.impl.GenericCalc
 - 
- mondrian.calc.impl.ConstantCalc
 
 
 
 
- 
- All Implemented Interfaces:
 BooleanCalc,Calc,DateTimeCalc,DimensionCalc,DoubleCalc,HierarchyCalc,IntegerCalc,LevelCalc,MemberCalc,StringCalc,TupleCalc,VoidCalc
public class ConstantCalc extends GenericCalc
Calculator which always returns the same value.- Since:
 - Sep 27, 2005
 - Author:
 - jhyde
 
 
- 
- 
Field Summary
- 
Fields inherited from class mondrian.calc.impl.AbstractCalc
exp, type 
 - 
 
- 
Constructor Summary
Constructors Constructor Description ConstantCalc(Type type, Object o) 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcollectArguments(Map<String,Object> arguments)Collects any other arguments to this calc.static BooleanCalcconstantBoolean(boolean b)Creates an expression which evaluates to a given boolean.static CalcconstantDimension(Dimension dimension)Creates an expression which evaluates to a given dimension.static DoubleCalcconstantDouble(double v)Creates an expression which evaluates to a given double.static CalcconstantHierarchy(Hierarchy hierarchy)Creates an expression which evaluates to a given hierarchy.static ConstantCalcconstantInteger(int i)Creates an expression which evaluates to a given integer.static CalcconstantLevel(Level level)Creates an expression which evaluates to a given level.static CalcconstantMember(Member member)Creates an expression which evaluates to a given member.static ConstantCalcconstantNull(Type type)Creates an expression which evaluates to null.static StringCalcconstantString(String s)Creates an expression which evaluates to a given string.booleandependsOn(Hierarchy hierarchy)Returns whether this expression depends upon a given hierarchy.Objectevaluate(Evaluator evaluator)Evaluates this expression.doubleevaluateDouble(Evaluator evaluator)Evaluates this expression to yield adoublevalue.intevaluateInteger(Evaluator evaluator)Evaluates this expression to yield anintvalue.Calc[]getCalcs()Returns this expression's child expressions.protected StringgetName()Returns the name of this expression type, used when serializing an expression to a string.ResultStylegetResultStyle()Returns style in which the result of evaluating this expression is returned.- 
Methods inherited from class mondrian.calc.impl.GenericCalc
evaluateBoolean, evaluateDateTime, evaluateDimension, evaluateHierarchy, evaluateLevel, evaluateMember, evaluateString, evaluateTuple, evaluateVoid, numberToDouble 
- 
Methods inherited from class mondrian.calc.impl.AbstractCalc
accept, anyDepends, anyDependsButFirst, butDepends, getArguments, 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, getType, isWrapperFor, unwrap 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getName
protected String getName()
Description copied from class:AbstractCalcReturns the name of this expression type, used when serializing an expression to a string.The default implementation tries to extract a name from a function call, if any, then prints the last part of the class name.
- Overrides:
 getNamein classAbstractCalc
 
- 
getResultStyle
public ResultStyle getResultStyle()
Description copied from interface:CalcReturns 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:
 getResultStylein interfaceCalc- Overrides:
 getResultStylein classAbstractCalc- See Also:
 ExpCompiler.compileList(mondrian.olap.Exp, boolean)
 
- 
collectArguments
public void collectArguments(Map<String,Object> arguments)
Description copied from class:AbstractCalcCollects any other arguments to this calc.The default implementation returns name, class, type, resultStyle. A subclass must call super, but may add other arguments.
- Overrides:
 collectArgumentsin classAbstractCalc- Parameters:
 arguments- Collection of name/value pairs, represented as a map
 
- 
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
 
 
- 
evaluateInteger
public int evaluateInteger(Evaluator evaluator)
Description copied from interface:IntegerCalcEvaluates this expression to yield anintvalue. If the result is null, returns the specialFunUtil.IntegerNullvalue.- Specified by:
 evaluateIntegerin interfaceIntegerCalc- Overrides:
 evaluateIntegerin classGenericCalc- Parameters:
 evaluator- Evaluation context- Returns:
 - evaluation result
 
 
- 
evaluateDouble
public double evaluateDouble(Evaluator evaluator)
Description copied from interface:DoubleCalcEvaluates this expression to yield adoublevalue. If the result is null, returns the specialFunUtil.DoubleNullvalue.- Specified by:
 evaluateDoublein interfaceDoubleCalc- Overrides:
 evaluateDoublein classGenericCalc- Parameters:
 evaluator- Evaluation context- Returns:
 - evaluation result
 
 
- 
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
 
 
- 
getCalcs
public Calc[] getCalcs()
Description copied from class:AbstractCalcReturns this expression's child expressions.- Overrides:
 getCalcsin classAbstractCalc
 
- 
constantInteger
public static ConstantCalc constantInteger(int i)
Creates an expression which evaluates to a given integer.- Parameters:
 i- Integer value- Returns:
 - Constant integer expression
 
 
- 
constantDouble
public static DoubleCalc constantDouble(double v)
Creates an expression which evaluates to a given double.- Parameters:
 v- Double value- Returns:
 - Constant double expression
 
 
- 
constantString
public static StringCalc constantString(String s)
Creates an expression which evaluates to a given string.- Parameters:
 s- String value- Returns:
 - Constant string expression
 
 
- 
constantBoolean
public static BooleanCalc constantBoolean(boolean b)
Creates an expression which evaluates to a given boolean.- Parameters:
 b- Boolean value- Returns:
 - Constant boolean expression
 
 
- 
constantNull
public static ConstantCalc constantNull(Type type)
Creates an expression which evaluates to null.- Parameters:
 type- Type- Returns:
 - Constant null expression
 
 
- 
constantMember
public static Calc constantMember(Member member)
Creates an expression which evaluates to a given member.- Parameters:
 member- Member- Returns:
 - Constant member expression
 
 
- 
constantLevel
public static Calc constantLevel(Level level)
Creates an expression which evaluates to a given level.- Parameters:
 level- Level- Returns:
 - Constant level expression
 
 
- 
constantHierarchy
public static Calc constantHierarchy(Hierarchy hierarchy)
Creates an expression which evaluates to a given hierarchy.- Parameters:
 hierarchy- Hierarchy- Returns:
 - Constant hierarchy expression
 
 
 - 
 
 -