Class HierarchyNode

  • All Implemented Interfaces:
    ParseTreeNode

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

      • HierarchyNode

        public HierarchyNode​(ParseRegion region,
                             Hierarchy hierarchy)
        Creates a HierarchyNode.
        Parameters:
        region - Region of source code
        hierarchy - Hierarchy 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
      • getHierarchy

        public Hierarchy getHierarchy()
        Returns the Hierarchy used in this expression.
        Returns:
        hierarchy 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 HierarchyNode 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