/* | |
* Copyright 1999-2011 Alibaba Group. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package com.alibaba.dubbo.common.json; | |
/** | |
* JSONToken. | |
* | |
* @author qian.lei | |
*/ | |
public class JSONToken | |
{ | |
// token type | |
public static final int ANY = 0, IDENT = 0x01, LBRACE = 0x02, LSQUARE = 0x03, RBRACE = 0x04, RSQUARE = 0x05, COMMA = 0x06, COLON = 0x07; | |
public static final int NULL = 0x10, BOOL = 0x11, INT = 0x12, FLOAT = 0x13, STRING = 0x14, ARRAY = 0x15, OBJECT = 0x16; | |
public final int type; | |
public final Object value; | |
JSONToken(int t) | |
{ | |
this(t, null); | |
} | |
JSONToken(int t, Object v) | |
{ | |
type = t; | |
value = v; | |
} | |
static String token2string(int t) | |
{ | |
switch( t ) | |
{ | |
case LBRACE: return "{"; | |
case RBRACE: return "}"; | |
case LSQUARE: return "["; | |
case RSQUARE: return "]"; | |
case COMMA: return ","; | |
case COLON: return ":"; | |
case IDENT: return "IDENT"; | |
case NULL: return "NULL"; | |
case BOOL: return "BOOL VALUE"; | |
case INT: return "INT VALUE"; | |
case FLOAT: return "FLOAT VALUE"; | |
case STRING: return "STRING VALUE"; | |
default: return "ANY"; | |
} | |
} | |
} |