Class WithSetNode

  • All Implemented Interfaces:
    ParseTreeNode

    public class WithSetNode
    extends java.lang.Object
    implements ParseTreeNode
    Parse tree node which declares a calculated set. Represented as the WITH SET clause of an MDX SELECT statement.
    Author:
    jhyde
    • Constructor Detail

      • WithSetNode

        public WithSetNode​(ParseRegion region,
                           IdentifierNode name,
                           ParseTreeNode expression)
        Creates a declaration of a named set.
        Parameters:
        region - Region of source code
        name - Name of set
        expression - Expression to calculate set
    • 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
      • getIdentifier

        public IdentifierNode getIdentifier()
        Returns the name of the set.
        Returns:
        name of the set
      • getExpression

        public ParseTreeNode getExpression()
        Returns the expression which calculates the set.
        Returns:
        expression which calculates the set
      • setExpression

        public void setExpression​(ParseTreeNode expression)
        Sets the expression which calculates the set.
        Parameters:
        expression - expression which calculates the set
      • 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
      • deepCopy

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