Class NumberNode

  • All Implemented Interfaces:
    FromSourceLocation, ToNode

    public final class NumberNode
    extends Node
    Represents a number node. Number nodes contain a Number value.

    Number nodes contain a value. You can inspect its type by calling isNaturalNumber() or isFloatingPointNumber(). Natural numbers are positive, or negative numbers without a decimal part.

    • Constructor Detail

      • NumberNode

        public NumberNode​(java.lang.Number value,
                          SourceLocation sourceLocation)
    • Method Detail

      • getValue

        public java.lang.Number getValue()
        Gets the number value.
        Returns:
        Returns a number.
      • isNaturalNumber

        public boolean isNaturalNumber()
        Returns true if the node contains a natural number.
        Returns:
        Returns true if the node contains a natural number.
      • isFloatingPointNumber

        public boolean isFloatingPointNumber()
        Returns true if the node contains a floating point number.
        Returns:
        Returns true if the node contains a floating point number.
      • getType

        public NodeType getType()
        Description copied from class: Node
        Gets the type of the node.
        Specified by:
        getType in class Node
        Returns:
        Returns the node type.
      • accept

        public <R> R accept​(NodeVisitor<R> visitor)
        Description copied from class: Node
        Accepts a visitor with the node.
        Specified by:
        accept in class Node
        Type Parameters:
        R - visitor return type.
        Parameters:
        visitor - Visitor to dispatch to.
        Returns:
        Returns the accepted result.
      • expectNumberNode

        public NumberNode expectNumberNode​(java.lang.String errorMessage)
        Description copied from class: Node
        Casts the current node to a NumberNode, throwing ExpectationNotMetException when the node is the wrong type.
        Overrides:
        expectNumberNode in class Node
        Parameters:
        errorMessage - Error message to use if the node is of the wrong type.
        Returns:
        Returns a number node.
      • asNumberNode

        public java.util.Optional<NumberNode> asNumberNode()
        Description copied from class: Node
        Gets the node as an NumberNode if it is an number.
        Overrides:
        asNumberNode in class Node
        Returns:
        Returns the optional NumberNode.
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

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