Class PropertyValueNode
- java.lang.Object
-
- org.olap4j.mdx.PropertyValueNode
-
- All Implemented Interfaces:
ParseTreeNode
public class PropertyValueNode extends java.lang.Object implements ParseTreeNode
Parse tree node representing a property-value pair.Property-value pairs are used to define properties of calculated members. For example, in
WITH MEMBER [Measures].[Foo] AS ' [Measures].[Unit Sales] ',
FORMAT_STRING = 'Bold',
SOLVE_ORDER = 2
SELECT ...- Author:
- jhyde
-
-
Constructor Summary
Constructors Constructor Description PropertyValueNode(ParseRegion region, java.lang.String name, ParseTreeNode expression)
Creates a PropertyValueNode.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> T
accept(ParseTreeVisitor<T> visitor)
Accepts a visitor to this MDX parse tree node.PropertyValueNode
deepCopy()
Creates a deep copy of this ParseTreeNode object.ParseTreeNode
getExpression()
Returns the expression by which the value of the property is derived.java.lang.String
getName()
Returns the name of the propertyParseRegion
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.void
unparse(ParseTreeWriter writer)
Converts this node into MDX text.
-
-
-
Constructor Detail
-
PropertyValueNode
public PropertyValueNode(ParseRegion region, java.lang.String name, ParseTreeNode expression)
Creates a PropertyValueNode.- Parameters:
region
- Region of source codename
- Name of propertyexpression
- Expression for value of property (often a literal)
-
-
Method Detail
-
getRegion
public ParseRegion 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
-
getType
public Type 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
-
getExpression
public ParseTreeNode getExpression()
Returns the expression by which the value of the property is derived.- Returns:
- the expression by which the value of the property is derived
-
getName
public java.lang.String getName()
Returns the name of the property- Returns:
- name of the property
-
accept
public <T> T accept(ParseTreeVisitor<T> visitor)
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
-
unparse
public void unparse(ParseTreeWriter writer)
Description copied from interface:ParseTreeNode
Converts this node into MDX text.- Specified by:
unparse
in interfaceParseTreeNode
- Parameters:
writer
- Parse tree writer
-
deepCopy
public PropertyValueNode 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
-
-