Package mondrian.olap.fun
Class MemberExtractingVisitor
- java.lang.Object
-
- mondrian.mdx.MdxVisitorImpl
-
- mondrian.olap.fun.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.
-
-
Constructor Summary
Constructors Constructor Description MemberExtractingVisitor(Set<Member> memberSet, ResolvedFunCall call, boolean mapToAllMember)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.-
Methods inherited from class mondrian.mdx.MdxVisitorImpl
shouldVisitChildren, turnOffVisitChildren, turnOnVisitChildren, visit, visit, visit, visit, visit, visit, visit, visitArray
-
-
-
-
Constructor Detail
-
MemberExtractingVisitor
public MemberExtractingVisitor(Set<Member> memberSet, ResolvedFunCall call, boolean mapToAllMember)
-
-
Method Detail
-
visit
public Object visit(ParameterExpr parameterExpr)
Description copied from interface:MdxVisitor
Visits a Parameter.- Specified by:
visit
in interfaceMdxVisitor
- Overrides:
visit
in classMdxVisitorImpl
- See Also:
ParameterExpr.accept(MdxVisitor)
-
visit
public Object visit(MemberExpr memberExpr)
Description copied from interface:MdxVisitor
Visits a MemberExpr.- Specified by:
visit
in interfaceMdxVisitor
- Overrides:
visit
in classMdxVisitorImpl
- See Also:
MemberExpr.accept(MdxVisitor)
-
visit
public Object visit(DimensionExpr dimensionExpr)
Description copied from interface:MdxVisitor
Visits a DimensionExpr.- Specified by:
visit
in interfaceMdxVisitor
- Overrides:
visit
in classMdxVisitorImpl
- See Also:
DimensionExpr.accept(MdxVisitor)
-
visit
public Object visit(HierarchyExpr hierarchyExpr)
Description copied from interface:MdxVisitor
Visits a HierarchyExpr.- Specified by:
visit
in interfaceMdxVisitor
- Overrides:
visit
in classMdxVisitorImpl
- See Also:
HierarchyExpr.accept(MdxVisitor)
-
visit
public Object visit(LevelExpr levelExpr)
Description copied from interface:MdxVisitor
Visits a LevelExpr.- Specified by:
visit
in interfaceMdxVisitor
- Overrides:
visit
in classMdxVisitorImpl
- See Also:
LevelExpr.accept(MdxVisitor)
-
visit
public Object visit(ResolvedFunCall funCall)
Description copied from interface:MdxVisitor
Visits a ResolvedFunCall.- Specified by:
visit
in interfaceMdxVisitor
- Overrides:
visit
in classMdxVisitorImpl
- See Also:
ResolvedFunCall.accept(MdxVisitor)
-
-