core.util.JSON_.java Source code

Java tutorial

Introduction

Here is the source code for core.util.JSON_.java

Source

/**
 * Author: Timothy Prepscius
 * License: GPLv3 Affero + keep my name in the code!
 */
package core.util;

import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONBoolean;
import com.google.gwt.json.client.JSONNumber;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.json.client.JSONValue;

public class JSON_ {
    @SuppressWarnings("serial")
    public static class JSONException extends Exception {
        public JSONException(Exception e) {
            super(e);
        }
    };

    public static Object newString(String string) {
        return new JSONString(string);
    }

    public static Object newArray() {
        return new JSONArray();
    }

    public static Object newObject() {
        return new JSONObject();
    }

    public static Object newNumber(long v) {
        return new JSONNumber(v);
    }

    public static String asString(Object value) {
        return ((JSONString) value).stringValue();
    }

    public static int size(Object a) throws JSONException {
        try {
            return ((JSONArray) a).size();
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static String[] keys(Object _o) throws JSONException {
        try {
            JSONObject o = (JSONObject) _o;
            return o.keySet().toArray(new String[0]);
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static Object get(Object a, int k) throws JSONException {
        try {
            return ((JSONArray) a).get(k);
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static void add(Object a, Object v) throws JSONException {
        try {
            JSONArray ja = (JSONArray) a;
            ja.set(ja.size(), (JSONValue) v);
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static Object get(Object o, String k) throws JSONException {
        try {
            return ((JSONObject) o).get(k);
        } catch (Exception e) {
            throw new JSONException(e);
        }

    }

    public static void put(Object o, String k, Object v) throws JSONException {
        try {
            ((JSONObject) o).put(k, (JSONValue) v);
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static boolean has(Object o, String k) throws JSONException {
        try {
            return ((JSONObject) o).containsKey(k);
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    //----------------------------------------------

    public static String getString(Object a, int i) throws JSONException {
        try {
            return ((JSONString) get(a, i)).stringValue();
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static String getString(Object o, String k) throws JSONException {
        try {
            return ((JSONString) get(o, k)).stringValue();
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static Object getArray(Object o, String k) throws JSONException {
        try {
            return get(o, k);
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static Object getObject(Object o, String k) throws JSONException {
        try {
            return get(o, k);
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static int getInt(Object o, String k) throws JSONException {
        try {
            return (int) ((JSONNumber) get(o, k)).doubleValue();
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static Object getArray(Object a, int i) throws JSONException {
        try {
            return get(a, i);
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static long getLong(Object o, int k) throws JSONException {
        try {
            return (long) ((JSONNumber) get(o, k)).doubleValue();
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static long getLong(Object o, String k) throws JSONException {
        try {
            return (long) ((JSONNumber) get(o, k)).doubleValue();
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static Object parse(String s) throws JSONException {
        try {
            return JSONParser.parseStrict(s);
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static Object newBoolean(boolean loaded) {
        return JSONBoolean.getInstance(loaded);
    }

    public static Object getObject(Object o, int i) throws JSONException {
        try {
            return (JSONObject) get(o, i);
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }

    public static boolean getBoolean(Object o, String string) throws JSONException {
        try {
            return ((JSONBoolean) get(o, string)).booleanValue();
        } catch (Exception e) {
            throw new JSONException(e);
        }
    }
}