Class WithMemberNode
- All Implemented Interfaces:
ParseTreeNode
WITH MEMBER clause of an MDX SELECT statement.- Author:
- jhyde
-
Constructor Summary
ConstructorsConstructorDescriptionWithMemberNode(ParseRegion region, IdentifierNode name, ParseTreeNode exp, List<PropertyValueNode> memberPropertyList) Constructs a formula specifying a member. -
Method Summary
Modifier and TypeMethodDescription<T> Taccept(ParseTreeVisitor<T> visitor) Accepts a visitor to this MDX parse tree node.deepCopy()Creates a deep copy of this ParseTreeNode object.Returns the expression to evaluate to calculate the member.Returns the name of the member declared.Returns the list of properties of this member.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.voidsetExpression(ParseTreeNode expression) Sets the expression to evaluate to calculate the member.voidunparse(ParseTreeWriter writer) Converts this node into MDX text.
-
Constructor Details
-
WithMemberNode
public WithMemberNode(ParseRegion region, IdentifierNode name, ParseTreeNode exp, List<PropertyValueNode> memberPropertyList) Constructs a formula specifying a member.- Parameters:
region- Source code regionname- Name of member being declaredexp- Expression for value of membermemberPropertyList- Collection of properties of member
-
-
Method Details
-
getRegion
Description copied from interface:ParseTreeNodeReturns 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:
getRegionin interfaceParseTreeNode- Returns:
- Region of the source code this node was created from, if it was created by parsing
-
unparse
Description copied from interface:ParseTreeNodeConverts this node into MDX text.- Specified by:
unparsein interfaceParseTreeNode- Parameters:
writer- Parse tree writer
-
getIdentifier
Returns the name of the member declared.The name is as specified in the parse tree; it may not be identical to the unique name of the member.
- Returns:
- Name of member
-
getExpression
Returns the expression to evaluate to calculate the member.- Returns:
- expression
-
setExpression
Sets the expression to evaluate to calculate the member.- Parameters:
expression- Expression
-
accept
Description copied from interface:ParseTreeNodeAccepts 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:
acceptin interfaceParseTreeNode- Parameters:
visitor- Visitor- Returns:
- T, the specific return type of the visitor
-
getType
Description copied from interface:ParseTreeNodeReturns the type of this expression.Returns null if this node is not an expression, for instance a
SELECTnode.- Specified by:
getTypein interfaceParseTreeNode- Returns:
- type of this expression
-
getMemberPropertyList
Returns the list of properties of this member.The list may be empty, but is never null. Each entry is a (name, expression) pair.
- Returns:
- list of properties
-
deepCopy
Description copied from interface:ParseTreeNodeCreates 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:
deepCopyin interfaceParseTreeNode- Returns:
- The deep copy of this ParseTreeNode
-