176d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson/*
276d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson * Copyright (C) 2010 The Android Open Source Project
376d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson *
476d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson * Licensed under the Apache License, Version 2.0 (the "License");
576d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson * you may not use this file except in compliance with the License.
676d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson * You may obtain a copy of the License at
776d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson *
876d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson *      http://www.apache.org/licenses/LICENSE-2.0
976d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson *
1076d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson * Unless required by applicable law or agreed to in writing, software
1176d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS,
1276d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1376d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson * See the License for the specific language governing permissions and
1476d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson * limitations under the License.
1576d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson */
1676d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson
1776d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilsonpackage android.util;
1876d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson
1976d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson/**
2076d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson * A structure, name or value type in a JSON-encoded string.
2176d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson */
2276d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilsonpublic enum JsonToken {
2376d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson
2476d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    /**
2576d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * The opening of a JSON array. Written using {@link JsonWriter#beginObject}
2676d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * and read using {@link JsonReader#beginObject}.
2776d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     */
2876d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    BEGIN_ARRAY,
2976d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson
3076d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    /**
3176d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * The closing of a JSON array. Written using {@link JsonWriter#endArray}
3276d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * and read using {@link JsonReader#endArray}.
3376d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     */
3476d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    END_ARRAY,
3576d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson
3676d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    /**
3776d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * The opening of a JSON object. Written using {@link JsonWriter#beginObject}
3876d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * and read using {@link JsonReader#beginObject}.
3976d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     */
4076d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    BEGIN_OBJECT,
4176d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson
4276d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    /**
4376d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * The closing of a JSON object. Written using {@link JsonWriter#endObject}
4476d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * and read using {@link JsonReader#endObject}.
4576d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     */
4676d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    END_OBJECT,
4776d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson
4876d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    /**
4976d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * A JSON property name. Within objects, tokens alternate between names and
5076d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * their values. Written using {@link JsonWriter#name} and read using {@link
5176d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * JsonReader#nextName}
5276d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     */
5376d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    NAME,
5476d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson
5576d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    /**
5676d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * A JSON string.
5776d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     */
5876d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    STRING,
5976d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson
6076d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    /**
6176d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * A JSON number represented in this API by a Java {@code double}, {@code
6276d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * long}, or {@code int}.
6376d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     */
6476d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    NUMBER,
6576d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson
6676d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    /**
6776d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * A JSON {@code true} or {@code false}.
6876d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     */
6976d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    BOOLEAN,
7076d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson
7176d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    /**
7276d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * A JSON {@code null}.
7376d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     */
7476d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    NULL,
7576d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson
7676d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    /**
7776d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * The end of the JSON stream. This sentinel value is returned by {@link
7876d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * JsonReader#peek()} to signal that the JSON-encoded value has no more
7976d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     * tokens.
8076d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson     */
8176d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson    END_DOCUMENT
8276d7e20a75d24afb2f5011a7646dbde8aaa52087Jesse Wilson}
83