Class HierarchyCurrentMemberFunDef.FixedCalcImpl

    • Constructor Detail

      • FixedCalcImpl

        public FixedCalcImpl​(Exp exp,
                             Hierarchy hierarchy)
    • 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 class AbstractCalc
      • 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
          [Measures].[Unit Sales]
          depends on all dimensions except [Measures].
        • The boolean expression
          ([Measures].[Unit Sales], [Time].[1997]) > 1000
          depends on all hierarchies except [Measures] and [Time].
        • The list expression
          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.

        Specified by:
        dependsOn in interface Calc
        Overrides:
        dependsOn in class AbstractCalc
        Parameters:
        hierarchy - Hierarchy
        Returns:
        Whether this expression's result depends upon the current member of the hierarchy
      • 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 class AbstractCalc
        Parameters:
        arguments - Collection of name/value pairs, represented as a map