elemental.json.JsonFactory Maven / Gradle / Ivy
/*
* 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;
/**
* Factory interface for parsing and creating JSON objects.
*/
public interface JsonFactory {
/**
* Create a JsonString from a Java String.
*
* @param string a Java String
* @return the parsed JsonString
*/
JsonString create(String string);
/**
* Create a JsonNumber from a Java double.
*
* @param number a Java double
* @return the parsed JsonNumber
*/
JsonNumber create(double number);
/**
* Create a JsonBoolean from a Java boolean.
*
* @param bool a Java boolean
* @return the parsed JsonBoolean
*/
JsonBoolean create(boolean bool);
/**
* Create an empty JsonArray.
*
* @return a new JsonArray
*/
elemental.json.JsonArray createArray();
/**
* Create a JsonNull.
*
* @return a JsonNull instance
*/
JsonNull createNull();
/**
* Create an empty JsonObject.
*
* @return a new JsonObject
*/
JsonObject createObject();
/**
* Parse a String in JSON format and return a JsonValue of the appropriate
* type.
*
* @param jsonString a String in JSON format
* @return a parsed JsonValue
*/
T parse(String jsonString) throws elemental.json.JsonException;
}