|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object mondrian.calc.impl.AbstractCalc mondrian.calc.impl.GenericCalc mondrian.calc.impl.ConstantCalc
public class ConstantCalc
Calculator which always returns the same value.
Field Summary |
---|
Fields inherited from class mondrian.calc.impl.AbstractCalc |
---|
exp, type |
Constructor Summary | |
---|---|
ConstantCalc(Type type,
Object o)
|
Method Summary | |
---|---|
void |
accept(CalcWriter calcWriter)
Prints this expression, by accepting a visiting CalcWriter . |
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(Dimension dimension)
Returns whether this expression depends upon a given dimension. |
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. |
ResultStyle |
getResultStyle()
Returns style in which the result of evaluating this expression is returned. |
Methods inherited from class mondrian.calc.impl.GenericCalc |
---|
evaluateBoolean, evaluateDateTime, evaluateDimension, evaluateHierarchy, evaluateIterable, evaluateLevel, evaluateList, evaluateMember, evaluateMemberIterable, evaluateMemberList, evaluateString, evaluateTuple, evaluateTupleIterable, evaluateTupleList, evaluateVoid, numberToDouble |
Methods inherited from class mondrian.calc.impl.AbstractCalc |
---|
anyDepends, anyDependsButFirst, butDepends, getArguments, getName, getType, simplifyEvaluator |
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 |
---|
getType |
Constructor Detail |
---|
public ConstantCalc(Type type, Object o)
Method Detail |
---|
public ResultStyle getResultStyle()
Calc
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.
getResultStyle
in interface Calc
getResultStyle
in class AbstractCalc
ExpCompiler.compileList(mondrian.olap.Exp, boolean)
public void accept(CalcWriter calcWriter)
Calc
CalcWriter
.
accept
in interface Calc
accept
in class AbstractCalc
calcWriter
- Writerpublic Object evaluate(Evaluator evaluator)
Calc
evaluator
- Provides dimensional context in which to evaluate
this expression
public int evaluateInteger(Evaluator evaluator)
IntegerCalc
int
value.
If the result is null, returns the special
FunUtil.IntegerNull
value.
evaluateInteger
in interface IntegerCalc
evaluateInteger
in class GenericCalc
evaluator
- Evaluation context
public double evaluateDouble(Evaluator evaluator)
DoubleCalc
double
value.
If the result is null, returns the special
FunUtil.DoubleNull
value.
evaluateDouble
in interface DoubleCalc
evaluateDouble
in class GenericCalc
evaluator
- Evaluation context
public boolean dependsOn(Dimension dimension)
Calc
If it does not depend on the dimension, 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 dimensions except [Measures] and [Time].
Filter([Store].[USA].Children,
[Measures].[Unit Sales] < 50)
depends upon all dimensions except [Store] and [Measures].
How so? Normally the scalar expression would depend upon all dimensions
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 Calc
dependsOn
in class AbstractCalc
dimension
- Dimension
public Calc[] getCalcs()
AbstractCalc
getCalcs
in class AbstractCalc
public static ConstantCalc constantInteger(int i)
i
- Integer value
public static DoubleCalc constantDouble(double v)
v
- Double value
public static StringCalc constantString(String s)
s
- String value
public static BooleanCalc constantBoolean(boolean b)
b
- Boolean value
public static ConstantCalc constantNull(Type type)
type
- Type
public static Calc constantMember(Member member)
member
- Member
public static Calc constantLevel(Level level)
level
- Level
public static Calc constantHierarchy(Hierarchy hierarchy)
hierarchy
- Hierarchy
public static Calc constantDimension(Dimension dimension)
dimension
- Dimension
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |