|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectmondrian.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 |
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. |
| 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 |
| Constructor Detail |
|---|
public ConstantCalc(Type type,
Object o)
| Method Detail |
|---|
protected 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)
Calc
evaluator - Provides dimensional context in which to evaluate
this expression
public 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 context
public 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 context
public 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 - Hierarchy
public Calc[] getCalcs()
AbstractCalc
getCalcs in class AbstractCalcpublic 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 | ||||||||