Class Numbers


  • public class Numbers
    extends java.lang.Object
    Helper class for processing Groovy numeric literals.
    • Constructor Summary

      Constructors 
      Constructor Description
      Numbers()  
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static boolean isDigit​(char c)
      Returns true if the specified character is a base-10 digit.
      static boolean isHexDigit​(char c)
      Returns true if the specified character is a base-16 digit.
      static boolean isNumericTypeSpecifier​(char c, boolean isDecimal)
      Returns true if the specified character is a valid type specifier for a numeric value.
      static boolean isOctalDigit​(char c)
      Returns true if the specific character is a base-8 digit.
      static java.lang.Number parseDecimal​(java.lang.String text)
      Builds a Number from the given decimal descriptor.
      static java.lang.Number parseInteger​(AST reportNode, java.lang.String text)
      Builds a Number from the given integer descriptor.
      static java.lang.Number parseInteger​(java.lang.String text)
      Deprecated.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Numbers

        public Numbers()
    • Method Detail

      • isDigit

        public static boolean isDigit​(char c)
        Returns true if the specified character is a base-10 digit.
      • isOctalDigit

        public static boolean isOctalDigit​(char c)
        Returns true if the specific character is a base-8 digit.
      • isHexDigit

        public static boolean isHexDigit​(char c)
        Returns true if the specified character is a base-16 digit.
      • isNumericTypeSpecifier

        public static boolean isNumericTypeSpecifier​(char c,
                                                     boolean isDecimal)
        Returns true if the specified character is a valid type specifier for a numeric value.
      • parseInteger

        @Deprecated
        public static java.lang.Number parseInteger​(java.lang.String text)
        Deprecated.
        Builds a Number from the given integer descriptor. Creates the narrowest type possible, or a specific type, if specified.
        Parameters:
        text - literal text to parse
        Returns:
        instantiated Number object
        Throws:
        java.lang.NumberFormatException - if the number does not fit within the type requested by the type specifier suffix (invalid numbers don't make it here)
      • parseInteger

        public static java.lang.Number parseInteger​(AST reportNode,
                                                    java.lang.String text)
        Builds a Number from the given integer descriptor. Creates the narrowest type possible, or a specific type, if specified.
        Parameters:
        reportNode - at node for error reporting in the parser
        text - literal text to parse
        Returns:
        instantiated Number object
        Throws:
        java.lang.NumberFormatException - if the number does not fit within the type requested by the type specifier suffix (invalid numbers don't make it here)
      • parseDecimal

        public static java.lang.Number parseDecimal​(java.lang.String text)
        Builds a Number from the given decimal descriptor. Uses BigDecimal, unless, Double or Float is requested.
        Parameters:
        text - literal text to parse
        Returns:
        instantiated Number object
        Throws:
        java.lang.NumberFormatException - if the number does not fit within the type requested by the type specifier suffix (invalid numbers don't make it here)