@Override public Long fromJson(JsonReader reader) throws IOException { return reader.nextLong(); }
@Override public Long fromJson(JsonReader reader) throws IOException { return reader.nextLong(); }
long nextLong(long def) throws IOException { if(nextNull()) { return def; } else return in.nextLong(); }
@Override public Folder fromJson(@NonNull JsonReader in) throws IOException { if (in.peek() == JsonReader.Token.NULL) { in.nextNull(); return null; } Folder folder = new Folder(); in.beginObject(); while (in.hasNext()) { String name = in.nextName(); switch (name) { case "id": folder.setId(in.nextLong()); break; case "name": folder.setName(in.nextString()); break; default: Log.w(TAG, "Unknown value in folder json: " + name); in.skipValue(); break; } } in.endObject(); return folder; } }
@Override public DependencyLink fromJson(JsonReader reader) throws IOException { DependencyLink.Builder result = DependencyLink.builder(); reader.beginObject(); while (reader.hasNext()) { switch (reader.nextName()) { case "parent": result.parent(reader.nextString()); break; case "child": result.child(reader.nextString()); break; case "callCount": result.callCount(reader.nextLong()); break; case "errorCount": result.errorCount(reader.nextLong()); break; default: reader.skipValue(); } } reader.endObject(); return result.build(); }
break; case "lastLoginTimestamp": user.setLastLogin(new Date(in.nextLong() * 1000)); break; case "avatar":
@Override public Annotation fromJson(JsonReader reader) throws IOException { Annotation.Builder result = Annotation.builder(); reader.beginObject(); while (reader.hasNext()) { switch (reader.nextName()) { case "timestamp": result.timestamp(reader.nextLong()); break; case "value": result.value(reader.nextString()); break; case "endpoint": result.endpoint(ENDPOINT_ADAPTER.fromJson(reader)); break; default: reader.skipValue(); } } reader.endObject(); return result.build(); }
switch (name) { case "id": builder.setId(in.nextLong()); break; case "guid": break; case "pubDate": builder.setPubDate(new Date(in.nextLong() * 1000)); break; case "body": break; case "feedId": builder.setFeedId(in.nextLong()); break; case "isUnread": break; case "lastModified": builder.setLastModified(in.nextLong()); break; case "rtl": case "updatedDate": if(in.peek() == JsonReader.Token.NUMBER) builder.setUpdatedAt(new Date(in.nextLong() * 1000)); else in.skipValue();