|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.olap4j.mdx.AxisNode
public class AxisNode
An axis in an MDX query. For example, the typical MDX query has two axes, which appear as the "ON COLUMNS" and "ON ROWS" clauses.
Constructor Summary | |
---|---|
AxisNode(ParseRegion region,
boolean nonEmpty,
Axis axis,
java.util.List<IdentifierNode> dimensionProperties,
ParseTreeNode expression)
Creates an axis. |
Method Summary | ||
---|---|---|
|
accept(ParseTreeVisitor<T> visitor)
Accepts a visitor to this MDX parse tree node. |
|
AxisNode |
deepCopy()
Creates a deep copy of this ParseTreeNode object. |
|
Axis |
getAxis()
Returns the name of the axis this axis expression is populating. |
|
java.util.List<IdentifierNode> |
getDimensionProperties()
Returns the list of dimension properties of this axis. |
|
ParseTreeNode |
getExpression()
Returns the expression which is used to compute the value of this axis. |
|
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. |
|
boolean |
isNonEmpty()
Returns whether the axis has the NON EMPTY property set. |
|
void |
setExpression(ParseTreeNode expr)
Sets the expression which is used to compute the value of this axis. |
|
void |
setNonEmpty(boolean nonEmpty)
Sets whether the axis has the NON EMPTY property set. |
|
void |
unparse(ParseTreeWriter writer)
Converts this node into MDX text. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AxisNode(ParseRegion region, boolean nonEmpty, Axis axis, java.util.List<IdentifierNode> dimensionProperties, ParseTreeNode expression)
region
- Region of source codenonEmpty
- Whether to filter out members of this axis whose cells
are all emptyaxis
- Which axis (ROWS, COLUMNS, etc.)dimensionProperties
- List of dimension properties; if null,
empty list is assumedexpression
- Expression to populate the axisMethod 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 Axis getAxis()
public boolean isNonEmpty()
NON EMPTY
property set.
public void setNonEmpty(boolean nonEmpty)
NON EMPTY
property set.
See isNonEmpty()
.
nonEmpty
- whether the axis is NON EMPTYpublic ParseTreeNode getExpression()
public void setExpression(ParseTreeNode expr)
getExpression()
.
expr
- the expression which is used to compute the value of this
axispublic void unparse(ParseTreeWriter writer)
ParseTreeNode
unparse
in interface ParseTreeNode
writer
- Parse tree writerpublic java.util.List<IdentifierNode> getDimensionProperties()
public Type getType()
ParseTreeNode
Returns null if this node is not an expression, for instance a
SELECT
node.
getType
in interface ParseTreeNode
public AxisNode 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 |