Upstream version 8.36.156.0
[platform/framework/web/crosswalk.git] / src / xwalk / runtime / android / core_internal / src / org / xwalk / core / internal / extension / api / contacts / ContactJson.java
1 // Copyright (c) 2013 Intel Corporation. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package org.xwalk.core.internal.extension.api.contacts;
6
7 import android.util.Log;
8
9 import java.util.ArrayList;
10 import java.util.List;
11
12 import org.json.JSONArray;
13 import org.json.JSONException;
14 import org.json.JSONObject;
15
16 /**
17  * The class mainly wraps try catch blocks of JSON.
18  */
19 public class ContactJson {
20     private static final String TAG = "ContactJson";
21
22     private JSONObject mObject;
23     public ContactJson(JSONObject o) {
24         this.mObject = o;
25     }
26
27     public ContactJson(String init) {
28         try {
29             if (init == null) return;
30             mObject = new JSONObject(init);
31         } catch (JSONException e) {
32             Log.e(TAG, "Init JSON by " + init + " failed: " + e.toString());
33         }
34     }
35
36     public List<String> getStringArray(String name) {
37         List<String> list = new ArrayList<String>();
38         if (mObject != null && mObject.has(name)) {
39             try {
40                 JSONArray jsonArray = mObject.getJSONArray(name);
41                 for (int i = 0; i < jsonArray.length(); i++) {
42                     list.add(jsonArray.getString(i));
43                 }
44             } catch (JSONException e) {
45                 Log.e(TAG, "getStringArray(" + name + "): Failed to parse json data: " + e.toString());
46             }
47         }
48         return list;
49     }
50
51     public String getFirstValue(String name) {
52         String value = null;
53         if (mObject != null && mObject.has(name)) {
54             try {
55                 value = mObject.getJSONArray(name).getString(0);
56             } catch (JSONException e) {
57                 Log.e(TAG, "getArrayTop(" + name + "): Failed to parse json data: " + e.toString());
58             }
59         }
60         return value;
61     }
62
63     public String getString(String name) {
64         String value = null;
65         if (mObject != null && mObject.has(name)) {
66             try {
67                 value = mObject.getString(name);
68             } catch (JSONException e) {
69                 Log.e(TAG, "getString(" + name + "): Failed to parse json data: " + e.toString());
70             }
71         }
72         return value;
73     }
74
75     public boolean getBoolean(String name) {
76         boolean value = false;
77         if (mObject != null && mObject.has(name)) {
78             try {
79                 value = mObject.getBoolean(name);
80             } catch (JSONException e) {
81                 Log.e(TAG, "getBoolean(" + name + "): Failed to parse json data: "+e.toString());
82             }
83         }
84         return value;
85     }
86
87     public JSONObject getObject(String name) {
88         JSONObject o = null;
89         if (mObject != null && mObject.has(name)) {
90             try {
91                 o = mObject.getJSONObject(name);
92             } catch (JSONException e) {
93                 Log.e(TAG, "getObject(" + name + "): Failed to parse json data: "+e.toString());
94             }
95         }
96         return o;
97     }
98 }