Example usage for com.google.gwt.json.client JSONNumber doubleValue

List of usage examples for com.google.gwt.json.client JSONNumber doubleValue

Introduction

In this page you can find the example usage for com.google.gwt.json.client JSONNumber doubleValue.

Prototype

public double doubleValue() 

Source Link

Document

Gets the double value this JSONNumber represents.

Usage

From source file:org.waveprotocol.wave.client.gadget.renderer.GadgetMetadata.java

License:Apache License

/**
 * Helper function to extract a long value from given JSON object.
 *
 * @param json JSON object to extract the value from.
 * @param key key of the value to extract.
 * @return the Long object extracted from JSON (can be null if the value does
 *         not exist or is invalid.//from   w w w. j a v a 2 s .c  om
 */
private static Long getJsonLongValue(JSONObject json, String key) {
    JSONValue value = json.get(key);
    JSONNumber number = (value == null) ? null : value.isNumber();
    if (number != null) {
        return Math.round(number.doubleValue());
    } else {
        return null;
    }
}

From source file:rpc.client.data.JSONSerializer.java

License:Open Source License

private Object fromJSONValue(JSONValue jsonValue, Type expected) throws NoSuitableSerializableFactory {

    if (jsonValue == null) {
        return null;
    }//from www  .  j  a  v a  2s .c o m

    // Null
    JSONNull asNull = jsonValue.isNull();
    if (asNull != null) {
        return null;
    }

    // Boolean
    JSONBoolean asBoolean = jsonValue.isBoolean();
    if (asBoolean != null) {
        return asBoolean.booleanValue();
    }

    // Integer
    // Long
    // Float
    // Double
    JSONNumber asNumber = jsonValue.isNumber();
    if (asNumber != null) {
        double value = asNumber.doubleValue();

        if (expected.isInteger()) {
            return (int) value;
        }

        if (expected.isLong()) {
            return (long) value;
        }

        if (expected.isFloat()) {
            return (float) value;
        }

        if (expected.isDouble()) {
            return value;
        }
    }

    // String
    // Enum
    JSONString asString = jsonValue.isString();
    if (asString != null) {
        if (expected.isEnum()) {
            String value = asString.stringValue();
            return Enum.valueOf((Class) expected.getTypeClass(), value);
        } else {
            return asString.stringValue();
        }
    }

    // Map
    // Serializable
    JSONObject asObject = jsonValue.isObject();
    if (asObject != null) {
        if (expected.isMap()) {
            Map<Object, Object> map = new HashMap<Object, Object>();

            Type keyType = expected.getParameterized(0);
            Type valueType = expected.getParameterized(1);

            if (!(keyType.isString() || keyType.isEnum())) {
                return null;
            }

            for (String key : asObject.keySet()) {
                JSONValue value = asObject.get(key);

                if (keyType.isString()) {
                    map.put(key, fromJSONValue(value, valueType));
                }

                if (keyType.isEnum()) {
                    map.put(Enum.valueOf((Class) keyType.getTypeClass(), key), fromJSONValue(value, valueType));
                }
            }

            return map;
        } else {
            if (provider == null) {
                throw new NoSuitableSerializableFactory();
            }

            Serializable object = provider.make(expected);

            for (Map.Entry<String, Type> entry : object.fields().entrySet()) {

                String field = entry.getKey();
                Type fieldType = entry.getValue();

                JSONValue value = asObject.get(field);
                object.set(field, fromJSONValue(value, fieldType));
            }

            return object;
        }
    }

    // List
    JSONArray asArray = jsonValue.isArray();
    if (asArray != null) {
        int size = asArray.size();

        List<Object> list = new ArrayList<Object>();
        Type itemType = expected.getParameterized(0);

        for (int i = 0; i < size; i++) {
            JSONValue value = asArray.get(i);
            list.add(fromJSONValue(value, itemType));
        }

        return list;
    }

    return null;
}

From source file:stroom.util.client.JSONUtil.java

License:Apache License

public static Integer getInteger(final JSONValue v) {
    if (v != null) {
        final JSONNumber jsonNumber = v.isNumber();
        if (jsonNumber != null) {
            return Integer.valueOf((int) jsonNumber.doubleValue());
        }//w  w w .  j ava  2  s . com
    }
    return null;
}

From source file:stroom.util.client.JSONUtil.java

License:Apache License

public static Double getDouble(final JSONValue v) {
    if (v != null) {
        final JSONNumber jsonNumber = v.isNumber();
        if (jsonNumber != null) {
            return Double.valueOf(jsonNumber.doubleValue());
        }/* w  ww. j a v  a  2  s . c  o  m*/
    }
    return null;
}