groovy.json
Enum JsonTokenType

java.lang.Object
  extended by java.lang.Enum<JsonTokenType>
      extended by groovy.json.JsonTokenType
All Implemented Interfaces:
Serializable, Comparable<JsonTokenType>

public enum JsonTokenType
extends Enum<JsonTokenType>

Enum listing all the possible JSON tokens that should be recognized by the lexer.

Since:
1.8.0
Author:
Guillaume Laforge

Enum Constant Summary
CLOSE_BRACKET
           
CLOSE_CURLY
           
COLON
           
COMMA
           
FALSE
           
NULL
           
NUMBER
           
OPEN_BRACKET
           
OPEN_CURLY
           
STRING
          Original pattern throws the StackOverflowError for long strings with backslashes.
TRUE
           
 
Method Summary
 String getLabel()
           
 Object getValidator()
           
 boolean matching(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(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

OPEN_CURLY

public static final JsonTokenType OPEN_CURLY

CLOSE_CURLY

public static final JsonTokenType CLOSE_CURLY

OPEN_BRACKET

public static final JsonTokenType OPEN_BRACKET

CLOSE_BRACKET

public static final JsonTokenType CLOSE_BRACKET

COLON

public static final JsonTokenType COLON

COMMA

public static final JsonTokenType COMMA

NULL

public static final JsonTokenType NULL

TRUE

public static final JsonTokenType TRUE

FALSE

public static final JsonTokenType FALSE

NUMBER

public static final JsonTokenType NUMBER

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(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:
IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null

matching

public boolean matching(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 String getLabel()

getValidator

public Object getValidator()

Copyright © 2003-2012 The Codehaus. All rights reserved.