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
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
collectArguments
(Map<String, Object> arguments) Collects any other arguments to this calc.boolean
Returns whether this expression depends upon a given hierarchy.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
-
Constructor Details
-
FixedCalcImpl
-
-
Method Details
-
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
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
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
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
-