package org.zbus.common.json.parser;
import java.math.BigDecimal;
import java.util.Collection;
public interface JSONLexer {
public final static byte EOI = 0x1A;
public final static int NOT_MATCH = -1;
public final static int NOT_MATCH_NAME = -2;
public final static int UNKOWN = 0;
public final static int OBJECT = 1;
public final static int ARRAY = 2;
public final static int VALUE = 3;
public final static int END = 4;
int token();
String tokenName();
void skipWhitespace();
void nextToken();
void nextToken(int expect);
char getCurrent();
char next();
String scanSymbol(final SymbolTable symbolTable);
String scanSymbol(final SymbolTable symbolTable, final char quote);
void resetStringPosition();
void scanNumber();
int pos();
Number integerValue();
BigDecimal decimalValue();
Number decimalValue(boolean decimal);
String scanSymbolUnQuoted(final SymbolTable symbolTable);
String stringVal();
boolean isEnabled(Feature feature);
void config(Feature feature, boolean state);
void scanString();
Number numberValue();
int intValue();
void nextTokenWithColon();
void nextTokenWithColon(int expect);
boolean isBlankInput();
int getBufferPosition();
void close();
long longValue();
boolean isRef();
String numberString();
byte[] bytesValue();
float floatValue();
long scanLong(char expectNextChar);
int scanInt(char expectNext);
String scanString(char expectNextChar);
Enum<?> scanEnum(Class<?> enumClass, final SymbolTable symbolTable, char serperator);
String scanSymbolWithSeperator(final SymbolTable symbolTable, char serperator);
Collection<String> scanStringArray(Class<?> type, char seperator);
}