| /* |
| * Copyright 2010 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 elemental.json; |
| |
| /** |
| * Represents a Json object. |
| */ |
| public interface JsonObject extends JsonValue { |
| |
| /** |
| * Return the element (uncoerced) as a JsonValue. |
| */ |
| <T extends JsonValue> T get(String key); |
| |
| /** |
| * Return the element (uncoerced) as a JsonArray. If the type is not an array, |
| * this can result in runtime errors. |
| */ |
| JsonArray getArray(String key); |
| |
| /** |
| * Return the element (uncoerced) as a boolean. If the type is not a boolean, |
| * this can result in runtime errors. |
| */ |
| boolean getBoolean(String key); |
| |
| /** |
| * Return the element (uncoerced) as a number. If the type is not a number, this |
| * can result in runtime errors. |
| */ |
| double getNumber(String key); |
| |
| /** |
| * Return the element (uncoerced) as a JsonObject If the type is not an object,, |
| * this can result in runtime errors. |
| */ |
| JsonObject getObject(String key); |
| |
| /** |
| * Return the element (uncoerced) as a String. If the type is not a String, this |
| * can result in runtime errors. |
| */ |
| String getString(String key); |
| |
| /** |
| * All keys of the object. |
| */ |
| String[] keys(); |
| |
| /** |
| * Set a given key to the given value. |
| */ |
| void put(String key, JsonValue value); |
| |
| /** |
| * Set a given key to the given String value. |
| */ |
| void put(String key, String value); |
| |
| /** |
| * Set a given key to the given double value. |
| */ |
| void put(String key, double value); |
| |
| /** |
| * Set a given key to the given boolean value. |
| */ |
| void put(String key, boolean bool); |
| |
| /** |
| * Test whether a given key has present. |
| */ |
| boolean hasKey(String key); |
| |
| /** |
| * Remove a given key and associated value from the object. |
| * @param key |
| */ |
| void remove(String key); |
| } |