Class DimensionNode

  • All Implemented Interfaces:
    ParseTreeNode

    public class DimensionNode
    extends java.lang.Object
    implements ParseTreeNode
    Usage of a Dimension as an expression in an MDX parse tree.
    Since:
    Jun 4, 2007
    Author:
    jhyde
    • Constructor Detail

      • DimensionNode

        public DimensionNode​(ParseRegion region,
                             Dimension dimension)
        Creates a DimensionNode.
        Parameters:
        region - Region of source code
        dimension - Dimension which is used in the expression
    • 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
      • getDimension

        public Dimension getDimension()
        Returns the Dimension used in this expression.
        Returns:
        dimension used in this expression
      • 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
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • deepCopy

        public DimensionNode 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