Class SelectNode
- All Implemented Interfaces:
ParseTreeNode
- Since:
- Jun 4, 2007
- Author:
- jhyde
-
Constructor Summary
ConstructorsConstructorDescriptionCreates an empty SelectNode.SelectNode
(ParseRegion region, List<ParseTreeNode> withList, List<AxisNode> axisList, ParseTreeNode from, AxisNode filterAxis, List<IdentifierNode> cellPropertyList) Creates a SelectNode. -
Method Summary
Modifier and TypeMethodDescription<T> T
accept
(ParseTreeVisitor<T> visitor) Accepts a visitor to this MDX parse tree node.deepCopy()
Creates a deep copy of this ParseTreeNode object.Returns a list of axes in this SelectNode.Returns a list of cell properties in this SelectNode.Returns the filter axis defined by the WHERE clause of this SelectNode.getFrom()
Returns the node representing the FROM clause of this SELECT statement.Returns the region of the source code which this node was created from, if it was created by parsing.getType()
Returns the type of this expression.Returns a list of calculated members and sets defined as the WITH clause of this SelectNode.void
setFrom
(ParseTreeNode from) Sets the FROM clause of this SELECT statement.toString()
void
unparse
(ParseTreeWriter writer) Converts this node into MDX text.
-
Constructor Details
-
SelectNode
public SelectNode(ParseRegion region, List<ParseTreeNode> withList, List<AxisNode> axisList, ParseTreeNode from, AxisNode filterAxis, List<IdentifierNode> cellPropertyList) Creates a SelectNode.- Parameters:
region
- Region of source code from which this node was createdwithList
- List of members and sets defined in this query using aWITH
clauseaxisList
- List of axesfrom
- Contents of FROM clause (name of cube, or subquery)filterAxis
- Filter axiscellPropertyList
- List of properties
-
SelectNode
public SelectNode()Creates an empty SelectNode.The contents of the SelectNode, such as the axis list, can be populated after construction.
-
-
Method Details
-
getRegion
Description copied from interface:ParseTreeNode
Returns the region of the source code which this node was created from, if it was created by parsing.A non-leaf node's region will encompass the regions of all of its children. For example, a the region of a function call node
Crossjoin([Gender], {[Store].[USA]})
stretches from the first character of the function name to the closing parenthesis.Region may be null, if the node was created programmatically, not from a piece of source code.
- Specified by:
getRegion
in interfaceParseTreeNode
- Returns:
- Region of the source code this node was created from, if it was created by parsing
-
accept
Description copied from interface:ParseTreeNode
Accepts a visitor to this MDX parse tree node.The implementation should generally dispatches to the
ParseTreeVisitor.visit(org.olap4j.mdx.SelectNode)
method appropriate to the type of expression.- Specified by:
accept
in interfaceParseTreeNode
- Parameters:
visitor
- Visitor- Returns:
- T, the specific return type of the visitor
-
getType
Description copied from interface:ParseTreeNode
Returns the type of this expression.Returns null if this node is not an expression, for instance a
SELECT
node.- Specified by:
getType
in interfaceParseTreeNode
- Returns:
- type of this expression
-
toString
-
unparse
Description copied from interface:ParseTreeNode
Converts this node into MDX text.- Specified by:
unparse
in interfaceParseTreeNode
- Parameters:
writer
- Parse tree writer
-
getWithList
Returns a list of calculated members and sets defined as the WITH clause of this SelectNode.For example, the WITH clause of query
WITH MEMBER [Measures].[Foo] AS ' [Measures].[Unit Sales] * 2 ' SET [Customers].[Top] AS ' TopCount([Customers].Members, 10) ' SELECT FROM [Sales]
WithMemberNode
and oneWithSetNode
.The returned list is mutable.
- Returns:
- list of calculated members and sets
-
getAxisList
Returns a list of axes in this SelectNode.The returned list is mutable.
- Returns:
- list of axes
-
getFilterAxis
Returns the filter axis defined by the WHERE clause of this SelectNode.Never returns
null
. If there is no WHERE clause, returns an AxisNode for whichAxisNode.getExpression()
returns null.You can modify the filter expression by calling
AxisNode.getExpression()
on the filter AxisNode;null
means that there is no filter axis.- Returns:
- filter axis
-
getFrom
Returns the node representing the FROM clause of this SELECT statement. The node is typically anIdentifierNode
, aCubeNode
or aSelectNode
.- Returns:
- FROM clause
-
setFrom
Sets the FROM clause of this SELECT statement.fromNode
should typically by anIdentifierNode
containing the cube name, or aCubeNode
referencing an explicitCube
object.- Parameters:
from
- FROM clause
-
getCellPropertyList
Returns a list of cell properties in this SelectNode.The returned list is mutable.
- Returns:
- list of cell properties
-
deepCopy
Description copied from interface:ParseTreeNode
Creates a deep copy of this ParseTreeNode object.Note: implementing classes can return the concrete type instead of ParseTreeNode (using Java 1.5 covariant return types)
- Specified by:
deepCopy
in interfaceParseTreeNode
- Returns:
- The deep copy of this ParseTreeNode
-