com.github.tnakamot.jscdg.json.token.package-info Maven / Gradle / Ivy
/**
* This package provides classes to represent tokens in JSON text.
* All types of tokens except white spaces (ws) defined
* in RFC 8259
* are supported. All insignificant white spaces are simply ignored
* in this implementation.
*
*
* All token types are defined as enums of
* {@link com.github.tnakamot.jscdg.json.token.JSONTokenType}.
* {@link com.github.tnakamot.jscdg.json.token.JSONToken} represents
* one token of any type.
*
*
* All structural characters ('[', ']', '{', '}', ',', ':') are
* represented as direct instances of {@link com.github.tnakamot.jscdg.json.token.JSONToken}.
*
*
* Tokens that represent primitive JSON values (string, number, boolean
* and null) have corresponding child classes of {@link com.github.tnakamot.jscdg.json.token.JSONToken}:
*
*
* - string: {@link com.github.tnakamot.jscdg.json.token.JSONTokenString}
* - number: {@link com.github.tnakamot.jscdg.json.token.JSONTokenNumber}
* - boolean: {@link com.github.tnakamot.jscdg.json.token.JSONTokenBoolean}
* - null: {@link com.github.tnakamot.jscdg.json.token.JSONTokenNull}
*
*
*
* Instantiation of {@link com.github.tnakamot.jscdg.json.token.JSONToken} and its
* child classes should be done by JSON lexical analyzes. In order to support
* possible various implementations of JSON lexical analyzers, all their constructors
* are defined as "public", but it is highly discouraged by user programs to directly
* instantiate them.
*
* @see RFC 8259
*/
package com.github.tnakamot.jscdg.json.token;