| /* |
| * 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(); |
| } |