Class 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 ...
    there are two property-value pairs FORMAT_STRING and SOLVE_ORDER.
    Author:
    jhyde
    • Constructor Detail

      • PropertyValueNode

        public PropertyValueNode​(ParseRegion region,
                                 java.lang.String name,
                                 ParseTreeNode expression)
        Creates a PropertyValueNode.
        Parameters:
        region - Region of source code
        name - Name of property
        expression - 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 interface ParseTreeNode
        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 interface ParseTreeNode
        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
      • 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 interface ParseTreeNode
        Returns:
        The deep copy of this ParseTreeNode