Statistics
| Revision:

gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.util / org.gvsig.tools.util.api / src / main / java / org / gvsig / json / Json.java @ 2469

History | View | Annotate | Download (6.8 KB)

1
package org.gvsig.json;
2

    
3
import java.io.InputStream;
4
import java.io.Reader;
5
import java.util.Map;
6
import javax.json.JsonArray;
7
import javax.json.JsonObject;
8
import javax.json.JsonReader;
9
import javax.json.JsonStructure;
10
import javax.json.JsonValue;
11
import javax.json.stream.JsonGeneratorFactory;
12
import org.gvsig.tools.dynobject.DynObject;
13
import org.gvsig.tools.util.GetItemWithSizeAndIterator;
14
import org.gvsig.tools.util.ToolsUtilLocator;
15

    
16
/**
17
 *
18
 * @author gvSIG Team
19
 */
20
@SuppressWarnings("UseSpecificCatch")
21
public class Json {
22
    
23
    public static JsonManager getManager() {
24
        return ToolsUtilLocator.getJsonManager();
25
    }
26
    
27
    public static void registerSerializer(Class<?extends SupportFromJson> theClass) {
28
        JsonManager manager = ToolsUtilLocator.getJsonManager();
29
        manager.registerSerializer(theClass);
30
    }
31
    
32
    public static void registerSerializer(JsonManager.JsonSerializer factory) {
33
        JsonManager manager = ToolsUtilLocator.getJsonManager();
34
        manager.registerSerializer(factory);
35
    }
36
    
37
    public static JsonGeneratorFactory createGeneratorFactory(Map<String, ?> config) {
38
        return javax.json.Json.createGeneratorFactory(config);
39
    }
40
        
41
    public static JsonReader createReader(InputStream in) {
42
        return javax.json.Json.createReader(in);
43
    }
44

    
45
    public static Object extract_path(JsonStructure jsonObject, String jsonpath) {
46
        JsonManager manager = ToolsUtilLocator.getJsonManager();
47
        JsonPathContext context = manager.createJSonPathContext(jsonObject);
48
        Object value = context.get(jsonpath);
49
        return value;
50
    }
51
    
52
    public static Object extract_path(String jsonObject, String jsonpath) {
53
        JsonManager manager = ToolsUtilLocator.getJsonManager();
54
        JsonPathContext context = manager.createJSonPathContext(jsonObject);
55
        Object value = context.get(jsonpath);
56
        return value;
57
    }
58
    
59
    public static JsonPathContext createJsonPathContext(JsonStructure jsonObject) {
60
        JsonManager manager = ToolsUtilLocator.getJsonManager();
61
        JsonPathContext context = manager.createJSonPathContext(jsonObject);
62
        return context;
63
    }
64

    
65
    public static JsonPathContext createJsonPathContext(String jsonObject) {
66
        JsonManager manager = ToolsUtilLocator.getJsonManager();
67
        JsonPathContext context = manager.createJSonPathContext(jsonObject);
68
        return context;
69
    }
70

    
71
    public static JsonReader createReader(Reader reader) {
72
        return javax.json.Json.createReader(reader);
73
    }
74

    
75
    public static JsonObjectBuilder createObjectBuilder() {
76
        JsonManager manager = ToolsUtilLocator.getJsonManager();
77
        JsonObjectBuilder builder = manager.createObjectBuilder();
78
        return builder;
79
    }
80
     
81
    public static JsonObjectBuilder createObjectBuilder(String json) {
82
        JsonManager manager = ToolsUtilLocator.getJsonManager();
83
        JsonObjectBuilder builder = manager.createObjectBuilder(json);
84
        return builder;
85
    }
86
     
87
    public static JsonObjectBuilder createObjectBuilder(JsonObject obj) {
88
        JsonManager manager = ToolsUtilLocator.getJsonManager();
89
        JsonObjectBuilder builder = manager.createObjectBuilder(obj);
90
        return builder;
91
    }
92
     
93
    public static JsonArrayBuilder createArrayBuilder() {
94
        JsonManager manager = ToolsUtilLocator.getJsonManager();
95
        JsonArrayBuilder builder = manager.createArrayBuilder();
96
        return builder;
97
    }
98
    
99
    public static JsonObject createObject(String json) {
100
        JsonManager manager = ToolsUtilLocator.getJsonManager();
101
        JsonObject obj = manager.createObject(json);
102
        return obj;
103
    }
104
    
105
    public static JsonObject createObject(InputStream json) {
106
        JsonObject obj = javax.json.Json.createReader(json).readObject();
107
        return obj;
108
    }
109
    
110
    public static JsonArray createArray(String json) {
111
        JsonManager manager = ToolsUtilLocator.getJsonManager();
112
        JsonArray array = manager.createArray(json);
113
        return array;
114
    }
115
   
116
    public static JsonArray createArray(InputStream json) {
117
        JsonArray array = javax.json.Json.createReader(json).readArray();
118
        return array;
119
    }
120
    
121
    public static JsonArray createArray(Reader json) {
122
        JsonArray array = javax.json.Json.createReader(json).readArray();
123
        return array;
124
    }
125
   
126
    public static String toString(JsonValue obj) {
127
        JsonManager manager = ToolsUtilLocator.getJsonManager();
128
        String json = manager.toString(obj);
129
        return json;
130
    }
131
    
132
    public static Object toObject(JsonValue value) {
133
        JsonManager manager = ToolsUtilLocator.getJsonManager();
134
        return manager.toObject(value);
135
    }
136

    
137
    public static Object toObject(JsonArray json, int index) {
138
        JsonManager manager = ToolsUtilLocator.getJsonManager();
139
        return manager.toObject(json, index);
140
    }
141

    
142
    public static Object toObject(JsonObject json, String name) {
143
        if( json == null ) {
144
            return null;
145
        }
146
        if( !json.containsKey(name) ) {
147
            return null;
148
        }
149
        JsonManager manager = ToolsUtilLocator.getJsonManager();
150
        return manager.toObject(json,name);
151
    }
152
    
153
    public static Object toObject(String json) {
154
        JsonManager manager = ToolsUtilLocator.getJsonManager();
155
        JsonObject jsonObject = manager.createObject(json);
156
        return manager.toObject(jsonObject);
157
    }
158
    
159
    public static Object[] toArray(JsonObject json, String name, Object[]a) {
160
        return toArray(json.getJsonArray(name), a);
161
    }
162

    
163
    public static Object[] toArray(JsonArray jsonArray, Object[]a) {
164
        if( jsonArray==null ) {
165
            return null;
166
        }
167
        JsonManager manager = ToolsUtilLocator.getJsonManager();
168
        return manager.toArray(jsonArray, a);
169
    }
170
    
171
    public static Iterable<Object> toIterable(JsonArray jsonArray) {
172
        JsonManager manager = ToolsUtilLocator.getJsonManager();
173
        return manager.toIterable(jsonArray);
174
    }
175
    
176
    public static GetItemWithSizeAndIterator<Object> toItems(JsonArray jsonArray) {
177
        JsonManager manager = ToolsUtilLocator.getJsonManager();
178
        return manager.toItems(jsonArray);
179
    }
180
    
181
    public static DynObject addAll(DynObject target, JsonObject json) {
182
        JsonManager manager = ToolsUtilLocator.getJsonManager();
183
        return manager.addAll(target, json);
184
    }
185

    
186
    public static Map toMap(JsonObject json, String name) {
187
        if( json == null ) {
188
            return null;
189
        }
190
        if( !json.containsKey(name) ) {
191
            return null;
192
        }
193
        JsonManager manager = ToolsUtilLocator.getJsonManager();
194
        return manager.toMap(json.getJsonObject(name));
195
    }
196
    
197
    public static Map toMap(JsonObject json) {
198
        JsonManager manager = ToolsUtilLocator.getJsonManager();
199
        return manager.toMap(json);
200
    }
201

    
202
}