1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.atlassian.jira.rest.client.internal.json;
17
18 import org.codehaus.jettison.json.JSONArray;
19 import org.codehaus.jettison.json.JSONException;
20
21 import java.util.ArrayList;
22
23 public class GenericJsonArrayParser<T> implements JsonArrayParser<Iterable<T>> {
24
25 public static <K> GenericJsonArrayParser<K> create(JsonObjectParser<K> jsonParser) {
26 return new GenericJsonArrayParser<K>(jsonParser);
27 }
28
29 private final JsonObjectParser<T> jsonParser;
30
31 public GenericJsonArrayParser(JsonObjectParser<T> jsonParser) {
32 this.jsonParser = jsonParser;
33 }
34
35 @Override
36 public Iterable<T> parse(JSONArray json) throws JSONException {
37 ArrayList<T> res = new ArrayList<T>(json.length());
38 for (int i = 0; i < json.length(); i++) {
39 res.add(jsonParser.parse(json.getJSONObject(i)));
40 }
41 return res;
42 }
43 }