Package mondrian.olap.fun
Class HierarchyCurrentMemberFunDef.FixedCalcImpl
- java.lang.Object
-
- mondrian.calc.impl.AbstractCalc
-
- mondrian.calc.impl.AbstractMemberCalc
-
- mondrian.olap.fun.HierarchyCurrentMemberFunDef.FixedCalcImpl
-
- All Implemented Interfaces:
Calc
,MemberCalc
- Enclosing class:
- HierarchyCurrentMemberFunDef
public static class HierarchyCurrentMemberFunDef.FixedCalcImpl extends AbstractMemberCalc
Compiled implementation of the Hierarchy.CurrentMember function that uses a fixed hierarchy.
-
-
Field Summary
-
Fields inherited from class mondrian.calc.impl.AbstractCalc
exp, type
-
-
Constructor Summary
Constructors Constructor Description FixedCalcImpl(Exp exp, Hierarchy hierarchy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
collectArguments(Map<String,Object> arguments)
Collects any other arguments to this calc.boolean
dependsOn(Hierarchy hierarchy)
Returns whether this expression depends upon a given hierarchy.Member
evaluateMember(Evaluator evaluator)
Evaluates this expression to yield a member.protected String
getName()
Returns the name of this expression type, used when serializing an expression to a string.-
Methods inherited from class mondrian.calc.impl.AbstractMemberCalc
evaluate
-
Methods inherited from class mondrian.calc.impl.AbstractCalc
accept, anyDepends, anyDependsButFirst, butDepends, getArguments, getCalcs, getResultStyle, 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, getResultStyle, getType, isWrapperFor, unwrap
-
-
-
-
Method Detail
-
getName
protected String getName()
Description copied from class:AbstractCalc
Returns 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:
getName
in classAbstractCalc
-
evaluateMember
public Member evaluateMember(Evaluator evaluator)
Description copied from interface:MemberCalc
Evaluates this expression to yield a member.May return the null member (see
Hierarchy.getNullMember()
) but never null.- Parameters:
evaluator
- Evaluation context- Returns:
- a member
-
dependsOn
public boolean dependsOn(Hierarchy hierarchy)
Description copied from interface:Calc
Returns 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)
Filter
function sets the [Store] context before evaluating the scalar expression, so it is not inherited from the surrounding context.
- Specified by:
dependsOn
in interfaceCalc
- Overrides:
dependsOn
in classAbstractCalc
- Parameters:
hierarchy
- Hierarchy- Returns:
- Whether this expression's result depends upon the current member of the hierarchy
- The expression
-
collectArguments
public void collectArguments(Map<String,Object> arguments)
Description copied from class:AbstractCalc
Collects 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:
collectArguments
in classAbstractCalc
- Parameters:
arguments
- Collection of name/value pairs, represented as a map
-
-