org.olap4j.mdx
public class PropertyValueNode extends Object implements ParseTreeNode
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 ...
there are two property-value pairs FORMAT_STRING and SOLVE_ORDER.Constructor and Description |
---|
PropertyValueNode(ParseRegion region,
String name,
ParseTreeNode expression)
Creates a PropertyValueNode.
|
Modifier and Type | Method and 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.
|
String |
getName()
Returns the name of the property
|
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.
|
void |
unparse(ParseTreeWriter writer)
Converts this node into MDX text.
|
public PropertyValueNode(ParseRegion region, String name, ParseTreeNode expression)
region
- Region of source codename
- Name of propertyexpression
- Expression for value of property (often a literal)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 Type getType()
ParseTreeNode
Returns null if this node is not an expression, for instance a
SELECT
node.
getType
in interface ParseTreeNode
public ParseTreeNode getExpression()
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
- Visitorpublic void unparse(ParseTreeWriter writer)
ParseTreeNode
unparse
in interface ParseTreeNode
writer
- Parse tree writerpublic PropertyValueNode deepCopy()
ParseTreeNode
Note: implementing classes can return the concrete type instead of ParseTreeNode (using Java 1.5 covariant return types)
deepCopy
in interface ParseTreeNode