public class MemberExtractingVisitor extends MdxVisitorImpl
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.
| Constructor and Description |
|---|
MemberExtractingVisitor(Set<Member> memberSet,
ResolvedFunCall call,
boolean mapToAllMember) |
| Modifier and Type | Method and Description |
|---|---|
Object |
visit(DimensionExpr dimensionExpr)
Visits a DimensionExpr.
|
Object |
visit(HierarchyExpr hierarchyExpr)
Visits a HierarchyExpr.
|
Object |
visit(LevelExpr levelExpr)
Visits a LevelExpr.
|
Object |
visit(MemberExpr memberExpr)
Visits a MemberExpr.
|
Object |
visit(ParameterExpr parameterExpr)
Visits a Parameter.
|
Object |
visit(ResolvedFunCall funCall)
Visits a ResolvedFunCall.
|
shouldVisitChildren, turnOffVisitChildren, turnOnVisitChildren, visit, visit, visit, visit, visit, visit, visit, visitArraypublic MemberExtractingVisitor(Set<Member> memberSet, ResolvedFunCall call, boolean mapToAllMember)
public Object visit(ParameterExpr parameterExpr)
MdxVisitorvisit in interface MdxVisitorvisit in class MdxVisitorImplParameterExpr.accept(MdxVisitor)public Object visit(MemberExpr memberExpr)
MdxVisitorvisit in interface MdxVisitorvisit in class MdxVisitorImplMemberExpr.accept(MdxVisitor)public Object visit(DimensionExpr dimensionExpr)
MdxVisitorvisit in interface MdxVisitorvisit in class MdxVisitorImplDimensionExpr.accept(MdxVisitor)public Object visit(HierarchyExpr hierarchyExpr)
MdxVisitorvisit in interface MdxVisitorvisit in class MdxVisitorImplHierarchyExpr.accept(MdxVisitor)public Object visit(LevelExpr levelExpr)
MdxVisitorvisit in interface MdxVisitorvisit in class MdxVisitorImplLevelExpr.accept(MdxVisitor)public Object visit(ResolvedFunCall funCall)
MdxVisitorvisit in interface MdxVisitorvisit in class MdxVisitorImplResolvedFunCall.accept(MdxVisitor)Copyright © 2020 Hitachi Vantara. All rights reserved.