Package groovy.json

Enum JsonTokenType

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<JsonTokenType>

    public enum JsonTokenType
    extends java.lang.Enum<JsonTokenType>
    The original slurper and lexer use this class. This is kept around in case someone needs its exact behavior. Enum listing all the possible JSON tokens that should be recognized by the lexer.
    Since:
    1.8.0
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getLabel()  
      java.lang.Object getValidator()  
      boolean matching​(java.lang.String input)
      Tells if an input string matches a token.
      static JsonTokenType startingWith​(char c)
      Find which JSON value might be starting with a given character
      static JsonTokenType valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static JsonTokenType[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • STRING

        public static final JsonTokenType STRING
        Original pattern throws the StackOverflowError for long strings with backslashes. So it is replaced by a 2-step approach inspired from json2.js sources: https://github.com/douglascrockford/JSON-js/blob/master/json2.js#L462 See JsonTokenTypeTest#testMatchingLongStringWithBackslashes() for details.
    • Method Detail

      • values

        public static JsonTokenType[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (JsonTokenType c : JsonTokenType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static JsonTokenType valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • matching

        public boolean matching​(java.lang.String input)
        Tells if an input string matches a token.
        Parameters:
        input - the input string to match
        Returns:
        a Matching enum value: YES if this is an exact match, POSSIBLE if more characters could turn the input string into a valid token, or NO if the string cannot possibly match the pattern even with more characters to read.
      • startingWith

        public static JsonTokenType startingWith​(char c)
        Find which JSON value might be starting with a given character
        Parameters:
        c - the character
        Returns:
        the possible token type found
      • getLabel

        public java.lang.String getLabel()
      • getValidator

        public java.lang.Object getValidator()