Class MemberExtractingVisitor

  • All Implemented Interfaces:
    MdxVisitor

    public class MemberExtractingVisitor
    extends MdxVisitorImpl
    Visitor which collects any non-measure base members encountered while traversing an expression.

    This Visitor is used by the native set classes as well as the crossjoin optimizer (CrossjoinFunDef.nonEmptyList) to identify members within an expression which may conflict with members used as a constraint.

    If the boolean mapToAllMember is true, then any occurrences of a Dimension/Hierarchy/Level will result in the corresponding [All] member being added to the collection. Likewise if a specific member is visited, the [All] member of it's corresponding hierarchy will be added.

    The mapToAllMember behavior will be used for any subexpression under one of the functions in the blacklist collection below.