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

History | View | Annotate | Download (6.06 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 JsonPathContext createJsonPathContext(JsonStructure jsonObject) {
46
        JsonManager manager = ToolsUtilLocator.getJsonManager();
47
        JsonPathContext context = manager.createJSonPathContext(jsonObject);
48
        return context;
49
    }
50

    
51
    public static JsonPathContext createJsonPathContext(String jsonObject) {
52
        JsonManager manager = ToolsUtilLocator.getJsonManager();
53
        JsonPathContext context = manager.createJSonPathContext(jsonObject);
54
        return context;
55
    }
56

    
57
    public static JsonReader createReader(Reader reader) {
58
        return javax.json.Json.createReader(reader);
59
    }
60

    
61
    public static JsonObjectBuilder createObjectBuilder() {
62
        JsonManager manager = ToolsUtilLocator.getJsonManager();
63
        JsonObjectBuilder builder = manager.createObjectBuilder();
64
        return builder;
65
    }
66
     
67
    public static JsonObjectBuilder createObjectBuilder(String json) {
68
        JsonManager manager = ToolsUtilLocator.getJsonManager();
69
        JsonObjectBuilder builder = manager.createObjectBuilder(json);
70
        return builder;
71
    }
72
     
73
    public static JsonObjectBuilder createObjectBuilder(JsonObject obj) {
74
        JsonManager manager = ToolsUtilLocator.getJsonManager();
75
        JsonObjectBuilder builder = manager.createObjectBuilder(obj);
76
        return builder;
77
    }
78
     
79
    public static JsonArrayBuilder createArrayBuilder() {
80
        JsonManager manager = ToolsUtilLocator.getJsonManager();
81
        JsonArrayBuilder builder = manager.createArrayBuilder();
82
        return builder;
83
    }
84
    
85
    public static JsonObject createObject(String json) {
86
        JsonManager manager = ToolsUtilLocator.getJsonManager();
87
        JsonObject obj = manager.createObject(json);
88
        return obj;
89
    }
90
    
91
    public static JsonObject createObject(InputStream json) {
92
        JsonObject obj = javax.json.Json.createReader(json).readObject();
93
        return obj;
94
    }
95
    
96
    public static JsonArray createArray(String json) {
97
        JsonManager manager = ToolsUtilLocator.getJsonManager();
98
        JsonArray array = manager.createArray(json);
99
        return array;
100
    }
101
   
102
    public static JsonArray createArray(InputStream json) {
103
        JsonArray array = javax.json.Json.createReader(json).readArray();
104
        return array;
105
    }
106
   
107
    public static String toString(JsonValue obj) {
108
        JsonManager manager = ToolsUtilLocator.getJsonManager();
109
        String json = manager.toString(obj);
110
        return json;
111
    }
112
    
113
    public static Object toObject(JsonValue value) {
114
        JsonManager manager = ToolsUtilLocator.getJsonManager();
115
        return manager.toObject(value);
116
    }
117

    
118
    public static Object toObject(JsonArray json, int index) {
119
        JsonManager manager = ToolsUtilLocator.getJsonManager();
120
        return manager.toObject(json, index);
121
    }
122

    
123
    public static Object toObject(JsonObject json, String name) {
124
        if( json == null ) {
125
            return null;
126
        }
127
        if( !json.containsKey(name) ) {
128
            return null;
129
        }
130
        JsonManager manager = ToolsUtilLocator.getJsonManager();
131
        return manager.toObject(json,name);
132
    }
133
    
134
    public static Object toObject(String json) {
135
        JsonManager manager = ToolsUtilLocator.getJsonManager();
136
        JsonObject jsonObject = manager.createObject(json);
137
        return manager.toObject(jsonObject);
138
    }
139
    
140
    public static Object[] toArray(JsonObject json, String name, Object[]a) {
141
        return toArray(json.getJsonArray(name), a);
142
    }
143

    
144
    public static Object[] toArray(JsonArray jsonArray, Object[]a) {
145
        if( jsonArray==null ) {
146
            return null;
147
        }
148
        JsonManager manager = ToolsUtilLocator.getJsonManager();
149
        return manager.toArray(jsonArray, a);
150
    }
151
    
152
    public static Iterable<Object> toIterable(JsonArray jsonArray) {
153
        JsonManager manager = ToolsUtilLocator.getJsonManager();
154
        return manager.toIterable(jsonArray);
155
    }
156
    
157
    public static GetItemWithSizeAndIterator<Object> toItems(JsonArray jsonArray) {
158
        JsonManager manager = ToolsUtilLocator.getJsonManager();
159
        return manager.toItems(jsonArray);
160
    }
161
    
162
    public static DynObject addAll(DynObject target, JsonObject json) {
163
        JsonManager manager = ToolsUtilLocator.getJsonManager();
164
        return manager.addAll(target, json);
165
    }
166

    
167
    public static Map toMap(JsonObject json, String name) {
168
        if( json == null ) {
169
            return null;
170
        }
171
        if( !json.containsKey(name) ) {
172
            return null;
173
        }
174
        JsonManager manager = ToolsUtilLocator.getJsonManager();
175
        return manager.toMap(json.getJsonObject(name));
176
    }
177
    
178
    public static Map toMap(JsonObject json) {
179
        JsonManager manager = ToolsUtilLocator.getJsonManager();
180
        return manager.toMap(json);
181
    }
182

    
183
}