public class ConstantCalc extends GenericCalc
exp, type| Constructor and Description |
|---|
ConstantCalc(Type type,
Object o) |
| Modifier and Type | Method and Description |
|---|---|
void |
collectArguments(Map<String,Object> arguments)
Collects any other arguments to this calc.
|
static BooleanCalc |
constantBoolean(boolean b)
Creates an expression which evaluates to a given boolean.
|
static Calc |
constantDimension(Dimension dimension)
Creates an expression which evaluates to a given dimension.
|
static DoubleCalc |
constantDouble(double v)
Creates an expression which evaluates to a given double.
|
static Calc |
constantHierarchy(Hierarchy hierarchy)
Creates an expression which evaluates to a given hierarchy.
|
static ConstantCalc |
constantInteger(int i)
Creates an expression which evaluates to a given integer.
|
static Calc |
constantLevel(Level level)
Creates an expression which evaluates to a given level.
|
static Calc |
constantMember(Member member)
Creates an expression which evaluates to a given member.
|
static ConstantCalc |
constantNull(Type type)
Creates an expression which evaluates to null.
|
static StringCalc |
constantString(String s)
Creates an expression which evaluates to a given string.
|
boolean |
dependsOn(Hierarchy hierarchy)
Returns whether this expression depends upon a given hierarchy.
|
Object |
evaluate(Evaluator evaluator)
Evaluates this expression.
|
double |
evaluateDouble(Evaluator evaluator)
Evaluates this expression to yield a
double value. |
int |
evaluateInteger(Evaluator evaluator)
Evaluates this expression to yield an
int value. |
Calc[] |
getCalcs()
Returns this expression's child expressions.
|
protected String |
getName()
Returns the name of this expression type, used when serializing an expression to a string.
|
ResultStyle |
getResultStyle()
Returns style in which the result of evaluating this expression is
returned.
|
evaluateBoolean, evaluateDateTime, evaluateDimension, evaluateHierarchy, evaluateLevel, evaluateMember, evaluateString, evaluateTuple, evaluateVoid, numberToDoubleaccept, anyDepends, anyDependsButFirst, butDepends, getArguments, getType, isWrapperFor, simplifyEvaluator, unwrapclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaccept, getType, isWrapperFor, unwrapprotected String getName()
AbstractCalcThe default implementation tries to extract a name from a function call, if any, then prints the last part of the class name.
getName in class AbstractCalcpublic ResultStyle getResultStyle()
CalcOne 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.
getResultStyle in interface CalcgetResultStyle in class AbstractCalcExpCompiler.compileList(mondrian.olap.Exp, boolean)public void collectArguments(Map<String,Object> arguments)
AbstractCalcThe default implementation returns name, class, type, resultStyle. A subclass must call super, but may add other arguments.
collectArguments in class AbstractCalcarguments - Collection of name/value pairs, represented as a mappublic Object evaluate(Evaluator evaluator)
Calcevaluator - Provides dimensional context in which to evaluate
this expressionpublic int evaluateInteger(Evaluator evaluator)
IntegerCalcint value.
If the result is null, returns the special
FunUtil.IntegerNull value.evaluateInteger in interface IntegerCalcevaluateInteger in class GenericCalcevaluator - Evaluation contextpublic double evaluateDouble(Evaluator evaluator)
DoubleCalcdouble value.
If the result is null, returns the special
FunUtil.DoubleNull value.evaluateDouble in interface DoubleCalcevaluateDouble in class GenericCalcevaluator - Evaluation contextpublic boolean dependsOn(Hierarchy hierarchy)
CalcIf 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:[Measures].[Unit Sales]
depends on all dimensions except [Measures].
([Measures].[Unit Sales],
[Time].[1997]) > 1000
depends on all hierarchies except [Measures] and [Time].
Filter([Store].[USA].Children,
[Measures].[Unit Sales] < 50)
depends upon all hierarchies except [Store] and [Measures].
How so? Normally the scalar expression would depend upon all hierarchies
except [Measures], but the Filter function sets the [Store]
context before evaluating the scalar expression, so it is not inherited
from the surrounding context.
dependsOn in interface CalcdependsOn in class AbstractCalchierarchy - Hierarchypublic Calc[] getCalcs()
AbstractCalcgetCalcs in class AbstractCalcpublic static ConstantCalc constantInteger(int i)
i - Integer valuepublic static DoubleCalc constantDouble(double v)
v - Double valuepublic static StringCalc constantString(String s)
s - String valuepublic static BooleanCalc constantBoolean(boolean b)
b - Boolean valuepublic static ConstantCalc constantNull(Type type)
type - Typepublic static Calc constantMember(Member member)
member - Memberpublic static Calc constantLevel(Level level)
level - Levelpublic static Calc constantHierarchy(Hierarchy hierarchy)
hierarchy - HierarchyCopyright © 2021 Hitachi Vantara. All rights reserved.