Advertisement
Guest User

Untitled

a guest
May 6th, 2020
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.00 KB | None | 0 0
  1. public final class EmptyListToNull implements JsonAdapter.Factory {
  2.     @Override
  3.     public JsonAdapter<?> create(Type type, Set<? extends Annotation> annotations, Moshi moshi) {
  4.         Class<?> rawType = Types.getRawType(type);
  5.         if (checkAssignments(rawType)) {
  6.             return null; // We don't want to decorate actual collection types.
  7.         }
  8.  
  9.         final JsonAdapter<Object> delegate = moshi.nextAdapter(this, type, annotations);
  10.  
  11.         return new JsonAdapter<Object>() {
  12.             @Override public Object fromJson(JsonReader reader) throws IOException {
  13.                 if (reader.peek() != BEGIN_ARRAY) {
  14.                     return delegate.fromJson(reader);
  15.                 }
  16.  
  17.                 reader.beginArray();
  18.                 reader.endArray();
  19.                 return null;
  20.             }
  21.  
  22.             @Override public void toJson(JsonWriter writer, Object value) throws IOException {
  23.                 delegate.toJson(writer, value);
  24.             }
  25.         };
  26.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement