| /* | |
| * Copyright 2008 Google Inc. | |
| * | |
| * 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.google.gwt.json.client; | |
| import com.google.gwt.core.client.JavaScriptObject; | |
| /** | |
| * The superclass of all JSON value types. | |
| * | |
| * @see com.google.gwt.json.client.JSONArray | |
| * @see com.google.gwt.json.client.JSONBoolean | |
| * @see com.google.gwt.json.client.JSONNumber | |
| * @see com.google.gwt.json.client.JSONObject | |
| * @see com.google.gwt.json.client.JSONString | |
| */ | |
| public abstract class JSONValue { | |
| /** | |
| * Not subclassable outside this package. | |
| */ | |
| JSONValue() { | |
| } | |
| /** | |
| * Returns a non-null reference if this JSONValue is really a JSONArray. | |
| * | |
| * @return a reference to a JSONArray if this JSONValue is a JSONArray or | |
| * <code>null</code> otherwise. | |
| */ | |
| public JSONArray isArray() { | |
| return null; | |
| } | |
| /** | |
| * Returns a non-null reference if this JSONValue is really a JSONBoolean. | |
| * | |
| * @return a reference to a JSONBoolean if this JSONValue is a JSONBoolean or | |
| * <code>null</code> otherwise. | |
| */ | |
| public JSONBoolean isBoolean() { | |
| return null; | |
| } | |
| /** | |
| * Returns a non-null reference if this JSONValue is really a JSONNull. | |
| * | |
| * @return a reference to a JSONNull if this JSONValue is a JSONNull or | |
| * <code>null</code> otherwise. | |
| */ | |
| public JSONNull isNull() { | |
| return null; | |
| } | |
| /** | |
| * Returns a non-null reference if this JSONValue is really a JSONNumber. | |
| * | |
| * @return a reference to a JSONNumber if this JSONValue is a JSONNumber or | |
| * <code>null</code> otherwise. | |
| */ | |
| public JSONNumber isNumber() { | |
| return null; | |
| } | |
| /** | |
| * Returns non-null if this JSONValue is really a JSONObject. | |
| * | |
| * @return a reference to a JSONObject if this JSONValue is a JSONObject or | |
| * <code>null</code> otherwise. | |
| */ | |
| public JSONObject isObject() { | |
| return null; | |
| } | |
| /** | |
| * Returns a non-null reference if this JSONValue is really a JSONString. | |
| * | |
| * @return a reference to a JSONString if this JSONValue is a JSONString or | |
| * <code>null</code> otherwise. | |
| */ | |
| public JSONString isString() { | |
| return null; | |
| } | |
| /** | |
| * Returns a JSON-encoded string for this entity. Use this method to create | |
| * JSON strings that can be sent from the client to a server. | |
| */ | |
| @Override | |
| public abstract String toString(); | |
| /** | |
| * Internal. Returns a JS func that can unwrap this value. Used from native | |
| * code. | |
| */ | |
| abstract JavaScriptObject getUnwrapper(); | |
| } |