Package com.apress.progwt.client.json

Source Code of com.apress.progwt.client.json.JSONWrapper

/*
* Copyright 2008 Jeff Dwyer
*
* 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.apress.progwt.client.json;

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.JSONString;
import com.google.gwt.json.client.JSONValue;

/**
* Handy JSON wrapper class. The basic google JSON classes are pretty
* spare and it can make for verbose serialization/deserialization code.
*
* @author Jeff Dwyer
*
*/
public class JSONWrapper {

    private JSONObject object;

    public JSONWrapper(JSONObject object) {
        this.object = object;
    }

    public JSONWrapper(JSONValue value) {
        this.object = value.isObject();
        if (object == null) {
            throw new UnsupportedOperationException("value not object");
        }
    }

    public JSONWrapper() {
        this(new JSONObject());
    }

    /**
     * Odd - Boolean.parseBoolean() is not implemented by GWT
     *
     * @param key
     * @return
     */
    public boolean getBoolean(String key) {
        String boolS = object.get(key).isBoolean().toString();
        return boolS.equals("true") ? true : false;
    }

    public int getInt(String key) {
        return Integer.parseInt(object.get(key).isNumber().toString());
    }

    public long getLong(String key) {
        return Long.parseLong(object.get(key).isNumber().toString());
    }

    public JSONObject getObject() {
        return object;
    }

    /**
     * Avoid the escaping that toString() does.
     *
     * @param key
     * @return
     */
    public String getString(String key) {
        return object.get(key).isString().stringValue();
    }

    public void put(String key, boolean value) {
        object.put(key, JSONBoolean.getInstance(value));
    }

    public void put(String key, int value) {
        object.put(key, new JSONNumber(value));
    }

    public void put(String key, long value) {
        object.put(key, new JSONNumber(value));
    }

    public void put(String key, String value) {
        object.put(key, new JSONString(value));
    }

    public JSONObject getJSONObject(String key) {
        return object.get(key).isObject();
    }
}
TOP

Related Classes of com.apress.progwt.client.json.JSONWrapper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.