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, visitArray
public MemberExtractingVisitor(Set<Member> memberSet, ResolvedFunCall call, boolean mapToAllMember)
public Object visit(ParameterExpr parameterExpr)
MdxVisitor
visit
in interface MdxVisitor
visit
in class MdxVisitorImpl
ParameterExpr.accept(MdxVisitor)
public Object visit(MemberExpr memberExpr)
MdxVisitor
visit
in interface MdxVisitor
visit
in class MdxVisitorImpl
MemberExpr.accept(MdxVisitor)
public Object visit(DimensionExpr dimensionExpr)
MdxVisitor
visit
in interface MdxVisitor
visit
in class MdxVisitorImpl
DimensionExpr.accept(MdxVisitor)
public Object visit(HierarchyExpr hierarchyExpr)
MdxVisitor
visit
in interface MdxVisitor
visit
in class MdxVisitorImpl
HierarchyExpr.accept(MdxVisitor)
public Object visit(LevelExpr levelExpr)
MdxVisitor
visit
in interface MdxVisitor
visit
in class MdxVisitorImpl
LevelExpr.accept(MdxVisitor)
public Object visit(ResolvedFunCall funCall)
MdxVisitor
visit
in interface MdxVisitor
visit
in class MdxVisitorImpl
ResolvedFunCall.accept(MdxVisitor)
Copyright © 2020 Hitachi Vantara. All rights reserved.