List of usage examples for com.google.gson.reflect TypeToken get
public static <T> TypeToken<T> get(Class<T> type)
From source file:co.mitro.core.servlets.ServerRejectsServlet.java
License:Open Source License
/** * Sets the server hints to hintsString, after validation. Throws exceptions if the JSON data * is incorrect, although the validation isn't currently extremely careful. */// w w w . ja v a2 s .co m public static void setServerHintsJson(String hintsString) { try { // Parse and validate the hints // TODO: Unit test this more carefully // can't use gson.fromJson() because it always uses lenient parsing; copied from there // See https://code.google.com/p/google-gson/issues/detail?id=372 JsonReader jsonReader = new JsonReader(new StringReader(hintsString)); TypeAdapter<?> typeAdapter = gson.getAdapter(TypeToken.get(listType)); @SuppressWarnings("unchecked") List<HintEntry> hints = (List<HintEntry>) typeAdapter.read(jsonReader); for (HintEntry hint : hints) { @SuppressWarnings("unused") Pattern regexp = Pattern.compile(hint.regex); if (hint.additional_submit_button_ids != null) { // optional: just don't include it instead of including an empty list assert hint.additional_submit_button_ids.size() > 0; for (String submitIds : hint.additional_submit_button_ids) { assert !Strings.isNullOrEmpty(submitIds); } } if (hint.allow_empty_username != null) { assert hint.allow_empty_username : "omit allow_empty_username if false"; } if (hint.empty_password_username_selector != null) { // TODO: Validate that this is a valid CSS selector? assert !hint.empty_password_username_selector .isEmpty() : "omit empty_password_username_selector if there is no selector"; assert hint.allow_empty_username != null && hint.allow_empty_username .booleanValue() : "allow_empty_username must be true if empty_password_username_selector is present"; } validateRules(hint.reject.login_submit); validateRules(hint.reject.submit); validateRules(hint.reject.password); validateRules(hint.reject.username); validateRules(hint.reject.form); } logger.info("setting {} server hints", hints.size()); serverHintsJson = hintsString; } catch (IOException | IllegalStateException e) { // Rethrow the same way as gson.fromJson() throw new JsonSyntaxException(e); } }
From source file:com.androidnetworking.gsonparserfactory.GsonParserFactory.java
License:Apache License
@Override public Parser<ResponseBody, ?> responseBodyParser(Type type) { TypeAdapter<?> adapter = gson.getAdapter(TypeToken.get(type)); return new GsonResponseBodyParser<>(gson, adapter); }
From source file:com.androidnetworking.gsonparserfactory.GsonParserFactory.java
License:Apache License
@Override public Parser<?, RequestBody> requestBodyParser(Type type) { TypeAdapter<?> adapter = gson.getAdapter(TypeToken.get(type)); return new GsonRequestBodyParser<>(gson, adapter); }
From source file:com.birbit.jsonapi.JsonApiDeserializer.java
License:Apache License
private T[] parseData(JsonDeserializationContext context, ParameterizedType parameterizedType, JsonObject jsonObject) {//from w w w . j ava2 s .co m JsonElement dataElm = jsonObject.get("data"); if (dataElm != null) { Type typeArg = parameterizedType.getActualTypeArguments()[0]; if (dataElm.isJsonArray()) { JsonArray jsonArray = dataElm.getAsJsonArray(); final int size = jsonArray.size(); // boolean isArray = typeArg instanceof GenericArrayType; // if (isArray) { TypeToken<?> typeToken = TypeToken.get(typeArg); T[] result = (T[]) Array.newInstance(typeToken.getRawType().getComponentType(), size); for (int i = 0; i < size; i++) { ResourceWithIdAndType<T> resourceWithIdAndType = parseResource(jsonArray.get(i), context); result[i] = resourceWithIdAndType.resource; } return result; // } else { // TypeToken<?> typeToken = TypeToken.get(typeArg); // T[] result = (T[]) Array.newInstance(typeToken.getRawType().getComponentType(), size); // for (int i = 0; i < size; i ++) { // ResourceWithIdAndType<T> resourceWithIdAndType = parseResource(jsonArray.get(i), context); // //noinspection unchecked // result[i] = resourceWithIdAndType.resource; // } // return result; // } } else if (dataElm.isJsonObject()) { T resource = parseResource(dataElm, context).resource; Object[] result = (Object[]) Array.newInstance(resource.getClass(), 1); result[0] = resource; return (T[]) result; } } return null; }
From source file:com.boc.lfj.httpdemo.retrofit.gson.GsonConverterFactory.java
License:Apache License
@Override public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) {//from w w w . j a va 2 s . co m TypeAdapter<?> adapter = gson.getAdapter(TypeToken.get(type)); return new GsonResponseBodyConverter<>(gson, adapter); }
From source file:com.boc.lfj.httpdemo.retrofit.gson.GsonConverterFactory.java
License:Apache License
@Override public Converter<?, RequestBody> requestBodyConverter(Type type, Annotation[] parameterAnnotations, Annotation[] methodAnnotations, Retrofit retrofit) { TypeAdapter<?> adapter = gson.getAdapter(TypeToken.get(type)); return new GsonRequestBodyConverter<>(gson, adapter); }
From source file:com.box.lib.http.gson.GsonConverterFactory.java
License:Apache License
@Override public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) {/*from w w w .j a v a2s.c om*/ TypeAdapter<?> adapter = gson.getAdapter(TypeToken.get(type)); return new GsonResponseBodyExceptionConverter<>(adapter); }
From source file:com.brady.coreframe.aosp.volley.requestimpl.GsonRequest.java
License:Apache License
@Override protected Response<T> parseNetworkResponse(NetworkResponse response) { try {//from w ww. jav a2s. co m String jsonString = new String(response.data, HttpHeaderParser.parseCharset(response.headers)); Type type = TypeToken.get(mJavaClass).getType(); NetResponse<T> parsedParentGSON = mGson.fromJson(jsonString, GsonUtils.getType(NetResponse.class, type)); return Response.success(parsedParentGSON.result, HttpHeaderParser.parseCacheHeaders(response)); } catch (UnsupportedEncodingException e) { return Response.error(new ParseError(e)); } catch (JsonSyntaxException je) { return Response.error(new ParseError(je)); } catch (Exception e) { return Response.error(new ParseError(e)); } }
From source file:com.btkelly.gnag.utils.gson.GsonConverterFactory.java
License:Apache License
@Override public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) {// ww w .ja v a 2 s. c o m TypeAdapter<?> adapter = gson.getAdapter(TypeToken.get(type)); return new GsonResponseBodyConverter<>(adapter); }
From source file:com.btkelly.gnag.utils.gson.GsonConverterFactory.java
License:Apache License
@Override public Converter<?, RequestBody> requestBodyConverter(Type type, Annotation[] parameterAnnotations, Annotation[] methodAnnotations, Retrofit retrofit) { TypeAdapter<?> adapter = gson.getAdapter(TypeToken.get(type)); return new GsonRequestBodyConverter<>(adapter); }