@SuppressWarnings({"unchecked", "rawtypes"}) @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Type type = typeToken.getType(); if (!(type instanceof GenericArrayType || type instanceof Class && ((Class<?>) type).isArray())) { return null; } Type componentType = $Gson$Types.getArrayComponentType(type); TypeAdapter<?> componentTypeAdapter = gson.getAdapter(TypeToken.get(componentType)); return new ArrayTypeAdapter( gson, componentTypeAdapter, $Gson$Types.getRawType(componentType)); } };
public void visitArray(Object array, Type arrayType) { if (!json.isJsonArray()) { throw new JsonParseException("Expecting array found: " + json); } JsonArray jsonArray = json.getAsJsonArray(); for (int i = 0; i < jsonArray.size(); i++) { JsonElement jsonChild = jsonArray.get(i); Object child; if (jsonChild == null || jsonChild.isJsonNull()) { child = null; } else if (jsonChild instanceof JsonObject) { child = visitChildAsObject($Gson$Types.getArrayComponentType(arrayType), jsonChild); } else if (jsonChild instanceof JsonArray) { child = visitChildAsArray($Gson$Types.getArrayComponentType(arrayType), jsonChild.getAsJsonArray()); } else if (jsonChild instanceof JsonPrimitive) { child = visitChildAsObject($Gson$Types.getArrayComponentType(arrayType), jsonChild.getAsJsonPrimitive()); } else { throw new IllegalStateException(); } Array.set(array, i, child); } }
public void visitArray(Object array, Type arrayType) { assignToRoot(new JsonArray()); int length = Array.getLength(array); Type componentType = $Gson$Types.getArrayComponentType(arrayType); for (int i = 0; i < length; ++i) { Object child = Array.get(array, i); // we should not get more specific component type yet since it is possible // that a custom serializer is registered for the componentType addAsArrayElement(new ObjectTypePair(child, componentType, false, false)); } }
@Override @SuppressWarnings("unchecked") protected T constructTarget() { if (!json.isJsonArray()) { throw new JsonParseException("Expecting array found: " + json); } JsonArray jsonArray = json.getAsJsonArray(); if ($Gson$Types.isArray(targetType)) { // We know that we are getting back an array of the required type, so // this typecasting is safe. return (T) objectConstructor.constructArray($Gson$Types.getArrayComponentType(targetType), jsonArray.size()); } // is a collection return (T) objectConstructor.construct($Gson$Types.getRawType(targetType)); }
@SuppressWarnings({"unchecked", "rawtypes"}) public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Type type = typeToken.getType(); if (!(type instanceof GenericArrayType || type instanceof Class && ((Class<?>) type).isArray())) { return null; } Type componentType = $Gson$Types.getArrayComponentType(type); TypeAdapter<?> componentTypeAdapter = gson.getAdapter(TypeToken.get(componentType)); return new ArrayTypeAdapter( gson, componentTypeAdapter, $Gson$Types.getRawType(componentType)); } };
@SuppressWarnings({"unchecked", "rawtypes"}) @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Type type = typeToken.getType(); if (!(type instanceof GenericArrayType || type instanceof Class && ((Class<?>) type).isArray())) { return null; } Type componentType = $Gson$Types.getArrayComponentType(type); TypeAdapter<?> componentTypeAdapter = gson.getAdapter(TypeToken.get(componentType)); return new ArrayTypeAdapter( gson, componentTypeAdapter, $Gson$Types.getRawType(componentType)); } };
@SuppressWarnings({"unchecked", "rawtypes"}) public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Type type = typeToken.getType(); if (!(type instanceof GenericArrayType || type instanceof Class && ((Class<?>) type).isArray())) { return null; } Type componentType = $Gson$Types.getArrayComponentType(type); TypeAdapter<?> componentTypeAdapter = gson.getAdapter(TypeToken.get(componentType)); return new ArrayTypeAdapter( gson, componentTypeAdapter, $Gson$Types.getRawType(componentType)); } };
@SuppressWarnings({"unchecked", "rawtypes"}) public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Type type = typeToken.getType(); if (!(type instanceof GenericArrayType || type instanceof Class && ((Class<?>) type).isArray())) { return null; } Type componentType = $Gson$Types.getArrayComponentType(type); TypeAdapter<?> componentTypeAdapter = gson.getAdapter(TypeToken.get(componentType)); return new ArrayTypeAdapter( gson, componentTypeAdapter, $Gson$Types.getRawType(componentType)); } };
public <T> TypeAdapter<T> create(MiniGson context, TypeToken<T> typeToken) { Type type = typeToken.getType(); if (!(type instanceof GenericArrayType || type instanceof Class && ((Class<?>) type).isArray())) { return null; } Type componentType = $Gson$Types.getArrayComponentType(type); TypeAdapter<?> componentTypeAdapter = context.getAdapter(TypeToken.get(componentType)); @SuppressWarnings("unchecked") // create() doesn't define a type parameter TypeAdapter<T> result = new ArrayTypeAdapter( context, componentTypeAdapter, $Gson$Types.getRawType(componentType)); return result; } };
@SuppressWarnings({"unchecked", "rawtypes"}) @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Type type = typeToken.getType(); if (!(type instanceof GenericArrayType || type instanceof Class && ((Class<?>) type).isArray())) { return null; } Type componentType = $Gson$Types.getArrayComponentType(type); TypeAdapter<?> componentTypeAdapter = gson.getAdapter(TypeToken.get(componentType)); return new ArrayTypeAdapter( gson, componentTypeAdapter, $Gson$Types.getRawType(componentType)); } };
@SuppressWarnings({"unchecked", "rawtypes"}) public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Type type = typeToken.getType(); if (!(type instanceof GenericArrayType || type instanceof Class && ((Class<?>) type).isArray())) { return null; } Type componentType = $Gson$Types.getArrayComponentType(type); TypeAdapter<?> componentTypeAdapter = gson.getAdapter(TypeToken.get(componentType)); return new ArrayTypeAdapter( gson, componentTypeAdapter, $Gson$Types.getRawType(componentType)); } };