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
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 -
Method Summary
Modifier and TypeMethodDescriptionvoidcollectArguments(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 StringCalcCreates an expression which evaluates to a given string.booleanReturns whether this expression depends upon a given hierarchy.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.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, numberToDoubleMethods inherited from class mondrian.calc.impl.AbstractCalc
accept, anyDepends, anyDependsButFirst, butDepends, getArguments, getType, isWrapperFor, simplifyEvaluator, unwrapMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface mondrian.calc.Calc
accept, getType, isWrapperFor, unwrap
-
Constructor Details
-
ConstantCalc
-
-
Method Details
-
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
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:
-
collectArguments
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
Description copied from interface:CalcEvaluates this expression.- Parameters:
evaluator- Provides dimensional context in which to evaluate this expression- Returns:
- Result of expression evaluation
-
evaluateInteger
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
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
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
Description copied from class:AbstractCalcReturns this expression's child expressions.- Overrides:
getCalcsin classAbstractCalc
-
constantInteger
Creates an expression which evaluates to a given integer.- Parameters:
i- Integer value- Returns:
- Constant integer expression
-
constantDouble
Creates an expression which evaluates to a given double.- Parameters:
v- Double value- Returns:
- Constant double expression
-
constantString
Creates an expression which evaluates to a given string.- Parameters:
s- String value- Returns:
- Constant string expression
-
constantBoolean
Creates an expression which evaluates to a given boolean.- Parameters:
b- Boolean value- Returns:
- Constant boolean expression
-
constantNull
Creates an expression which evaluates to null.- Parameters:
type- Type- Returns:
- Constant null expression
-
constantMember
Creates an expression which evaluates to a given member.- Parameters:
member- Member- Returns:
- Constant member expression
-
constantLevel
Creates an expression which evaluates to a given level.- Parameters:
level- Level- Returns:
- Constant level expression
-
constantHierarchy
Creates an expression which evaluates to a given hierarchy.- Parameters:
hierarchy- Hierarchy- Returns:
- Constant hierarchy expression
-
constantDimension
Creates an expression which evaluates to a given dimension.- Parameters:
dimension- Dimension- Returns:
- Constant dimension expression
-