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 @ 3081

History | View | Annotate | Download (8.07 KB)

1
package org.gvsig.json;
2

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

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

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

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

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

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

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

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

    
165
    public static Object[] toArray(JsonArray jsonArray, Object[]a) {
166
        if( jsonArray==null ) {
167
            return null;
168
        }
169
        JsonManager manager = ToolsUtilLocator.getJsonManager();
170
        return manager.toArray(jsonArray, a);
171
    }
172
    
173
    public static Iterable toIterable(JsonArray jsonArray) {
174
        JsonManager manager = ToolsUtilLocator.getJsonManager();
175
        return manager.toIterable(jsonArray);
176
    }
177
    
178
    public static Collection toCollection(JsonArray jsonArray) {
179
        JsonManager manager = ToolsUtilLocator.getJsonManager();
180
        return manager.toCollection(jsonArray);
181
    }
182
    
183
    public static Collection toCollection(JsonObject json, String name) {
184
        if( json == null ) {
185
            return null;
186
        }
187
        if( !json.containsKey(name) ) {
188
            return null;
189
        }
190
        JsonManager manager = ToolsUtilLocator.getJsonManager();
191
        return manager.toCollection(json.getJsonArray(name));
192
    }
193
    
194
    public static GetItemWithSizeAndIterator<Object> toItems(JsonArray jsonArray) {
195
        JsonManager manager = ToolsUtilLocator.getJsonManager();
196
        return manager.toItems(jsonArray);
197
    }
198
    
199
    public static DynObject addAll(DynObject target, JsonObject json) {
200
        JsonManager manager = ToolsUtilLocator.getJsonManager();
201
        return manager.addAll(target, json);
202
    }
203

    
204
    public static Map toMap(JsonObject json, String name) {
205
        if( json == null ) {
206
            return null;
207
        }
208
        if( !json.containsKey(name) ) {
209
            return null;
210
        }
211
        JsonManager manager = ToolsUtilLocator.getJsonManager();
212
        return manager.toMap(json.getJsonObject(name));
213
    }
214
    
215
    public static Map toMap(JsonObject json) {
216
        JsonManager manager = ToolsUtilLocator.getJsonManager();
217
        return manager.toMap(json);
218
    }
219

    
220
    public static SAJParser createSAJParser(InputStream is, SAJParser.SAJParserHandler handler) {
221
        JsonManager manager = ToolsUtilLocator.getJsonManager();
222
        return manager.createSAJParser(is, handler);
223
    }
224
    
225
    public static SAJParser createSAJParser(Reader reader, SAJParser.SAJParserHandler handler) {
226
        JsonManager manager = ToolsUtilLocator.getJsonManager();
227
        return manager.createSAJParser(reader, handler);
228
    }
229
    
230
    public static SAJParser createSAJParser(JsonParser parser, SAJParser.SAJParserHandler handler) {    
231
        JsonManager manager = ToolsUtilLocator.getJsonManager();
232
        return manager.createSAJParser(parser, handler);        
233
    }
234
}