|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.olap4j.mdx.SelectNode
public class SelectNode
Parse tree model for an MDX SELECT statement.
Constructor Summary | |
---|---|
SelectNode()
Creates an empty SelectNode. |
|
SelectNode(ParseRegion region,
java.util.List<ParseTreeNode> withList,
java.util.List<AxisNode> axisList,
ParseTreeNode from,
AxisNode filterAxis,
java.util.List<IdentifierNode> cellPropertyList)
Creates a SelectNode. |
Method Summary | ||
---|---|---|
|
accept(ParseTreeVisitor<T> visitor)
Accepts a visitor to this MDX parse tree node. |
|
SelectNode |
deepCopy()
Creates a deep copy of this ParseTreeNode object. |
|
java.util.List<AxisNode> |
getAxisList()
Returns a list of axes in this SelectNode. |
|
java.util.List<IdentifierNode> |
getCellPropertyList()
Returns a list of cell properties in this SelectNode. |
|
AxisNode |
getFilterAxis()
Returns the filter axis defined by the WHERE clause of this SelectNode. |
|
ParseTreeNode |
getFrom()
Returns the node representing the FROM clause of this SELECT statement. |
|
ParseRegion |
getRegion()
Returns the region of the source code which this node was created from, if it was created by parsing. |
|
Type |
getType()
Returns the type of this expression. |
|
java.util.List<ParseTreeNode> |
getWithList()
Returns a list of calculated members and sets defined as the WITH clause of this SelectNode. |
|
void |
setFrom(ParseTreeNode fromNode)
Sets the FROM clause of this SELECT statement. |
|
java.lang.String |
toString()
|
|
void |
unparse(ParseTreeWriter writer)
Converts this node into MDX text. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public SelectNode(ParseRegion region, java.util.List<ParseTreeNode> withList, java.util.List<AxisNode> axisList, ParseTreeNode from, AxisNode filterAxis, java.util.List<IdentifierNode> cellPropertyList)
region
- Region of source code from which this node was createdwithList
- List of members and sets defined in this query using
a WITH
clauseaxisList
- List of axesfrom
- Name of cubefilterAxis
- Filter axiscellPropertyList
- List of propertiespublic SelectNode()
The contents of the SelectNode, such as the axis list, can be populated after construction.
Method Detail |
---|
public ParseRegion getRegion()
ParseTreeNode
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.
getRegion
in interface ParseTreeNode
public <T> T accept(ParseTreeVisitor<T> visitor)
ParseTreeNode
The implementation should generally dispatches to the
ParseTreeVisitor.visit(org.olap4j.mdx.SelectNode)
method appropriate to the type of expression.
accept
in interface ParseTreeNode
visitor
- Visitor
public Type getType()
ParseTreeNode
Returns null if this node is not an expression, for instance a
SELECT
node.
getType
in interface ParseTreeNode
public java.lang.String toString()
toString
in class java.lang.Object
public void unparse(ParseTreeWriter writer)
ParseTreeNode
unparse
in interface ParseTreeNode
writer
- Parse tree writerpublic java.util.List<ParseTreeNode> getWithList()
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]
contains one WithMemberNode
and one
WithSetNode
.
The returned list is mutable.
public java.util.List<AxisNode> getAxisList()
The returned list is mutable.
public AxisNode getFilterAxis()
Never returns null
. If there is no WHERE clause, returns an
AxisNode for which AxisNode.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.
public ParseTreeNode getFrom()
IdentifierNode
or a CubeNode
.
public void setFrom(ParseTreeNode fromNode)
fromNode
should typically by an
IdentifierNode
containing the cube name, or
a CubeNode
referencing an explicit
Cube
object.
fromNode
- FROM clausepublic java.util.List<IdentifierNode> getCellPropertyList()
The returned list is mutable.
public SelectNode deepCopy()
ParseTreeNode
Note: implementing classes can return the concrete type instead of ParseTreeNode (using Java 1.5 covariant return types)
deepCopy
in interface ParseTreeNode
|
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |