List of usage examples for com.google.gson.stream JsonReader peek
public JsonToken peek() throws IOException
From source file:com.squareup.wire.ByteStringTypeAdapter.java
License:Apache License
@Override public ByteString read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull();// www .j av a2 s . com return null; } return ByteString.decodeBase64(in.nextString()); }
From source file:com.squareup.wire.MessageTypeAdapter.java
License:Apache License
@SuppressWarnings("unchecked") @Override/*ww w . ja va 2 s.c o m*/ public M read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull(); return null; } MessageAdapter<M> messageAdapter = wire.messageAdapter(type); Message.Builder<M> builder = messageAdapter.newBuilder(); in.beginObject(); while (in.peek() == JsonToken.NAME) { String name = in.nextName(); MessageAdapter.FieldInfo fieldInfo = messageAdapter.getField(name); if (fieldInfo == null) { Extension<?, ?> extension = messageAdapter.getExtension(name); if (extension == null) { parseUnknownField(in, builder, Integer.parseInt(name)); } else { Type valueType = getType(extension); Object value = parseValue(extension.getLabel(), valueType, parse(in)); ((ExtendableMessage.ExtendableBuilder) builder).setExtension(extension, value); } } else { Type valueType = getType(fieldInfo); Object value = parseValue(fieldInfo.label, valueType, parse(in)); // Use the builder setter method to ensure proper 'oneof' behavior. messageAdapter.setBuilderMethod(builder, fieldInfo, value); } } in.endObject(); return builder.build(); }
From source file:com.squareup.wire.MessageTypeAdapter.java
License:Apache License
private void parseUnknownField(JsonReader in, Message.Builder<M> builder, int tag) throws IOException { in.beginArray();/*from w w w . java 2 s . c o m*/ UnknownFieldType type = UnknownFieldType.of(in.nextString()); while (in.peek() != JsonToken.END_ARRAY) { switch (type) { case VARINT: builder.addVarint(tag, in.nextInt()); break; case FIXED32: builder.addFixed32(tag, in.nextInt()); break; case FIXED64: builder.addFixed64(tag, in.nextInt()); break; case LENGTH_DELIMITED: builder.addLengthDelimited(tag, ByteString.decodeBase64(in.nextString())); break; default: throw new AssertionError("Unknown field type " + type); } } in.endArray(); }
From source file:com.vaushell.treetasker.net.GsonDateAdapter.java
License:Open Source License
@Override public Date read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull();/*from w w w . j a v a 2 s .c o m*/ return null; } return new Date(reader.nextLong()); }
From source file:com.vimeo.stag.generated.ParseUtils.java
public static <T> ArrayList<T> parseArray(Gson gson, JsonReader reader, Class<T> clazz) throws IOException { if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_ARRAY) { reader.skipValue();//from ww w .java 2s . c o m return null; } reader.beginArray(); ArrayList<T> list = Stag.readListFromAdapter(gson, clazz, reader); reader.endArray(); return list; }
From source file:com.vimeo.stag.generated.ParseUtils.java
public static Channel parseChannel(Gson gson, JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();/* w w w. j av a2 s . com*/ return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); com.vimeo.networking.model.Channel object = new com.vimeo.networking.model.Channel(); while (reader.hasNext()) { String name = reader.nextName(); com.google.gson.stream.JsonToken jsonToken = reader.peek(); if (jsonToken == com.google.gson.stream.JsonToken.NULL) { reader.skipValue(); continue; } switch (name) { case "modified_time": try { object.modifiedTime = Stag.readFromAdapter(gson, java.util.Date.class, reader); } catch (Exception exception) { throw new IOException("Error parsing Channel.modifiedTime JSON!", exception); } break; case "uri": if (jsonToken == com.google.gson.stream.JsonToken.STRING) { object.uri = reader.nextString(); } else { reader.skipValue(); } break; case "metadata": try { object.metadata = ParseUtils.parseMetadata(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing Channel.metadata JSON!", exception); } break; case "created_time": try { object.createdTime = Stag.readFromAdapter(gson, java.util.Date.class, reader); } catch (Exception exception) { throw new IOException("Error parsing Channel.createdTime JSON!", exception); } break; case "user": try { object.user = ParseUtils.parseUser(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing Channel.user JSON!", exception); } break; case "header": try { object.header = ParseUtils.parsePictureCollection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing Channel.header JSON!", exception); } break; case "link": if (jsonToken == com.google.gson.stream.JsonToken.STRING) { object.link = reader.nextString(); } else { reader.skipValue(); } break; case "privacy": try { object.privacy = ParseUtils.parsePrivacy(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing Channel.privacy JSON!", exception); } break; case "name": if (jsonToken == com.google.gson.stream.JsonToken.STRING) { object.name = reader.nextString(); } else { reader.skipValue(); } break; case "pictures": try { object.pictures = ParseUtils.parsePictureCollection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing Channel.pictures JSON!", exception); } break; case "description": if (jsonToken == com.google.gson.stream.JsonToken.STRING) { object.description = reader.nextString(); } else { reader.skipValue(); } break; default: reader.skipValue(); break; } } reader.endObject(); return object; }
From source file:com.vimeo.stag.generated.ParseUtils.java
public static StatsCollection parseStatsCollection(Gson gson, JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();/*from w w w . j ava2s .c o m*/ return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); com.vimeo.networking.model.StatsCollection object = new com.vimeo.networking.model.StatsCollection(); while (reader.hasNext()) { String name = reader.nextName(); com.google.gson.stream.JsonToken jsonToken = reader.peek(); if (jsonToken == com.google.gson.stream.JsonToken.NULL) { reader.skipValue(); continue; } switch (name) { case "plays": try { object.plays = Stag.readFromAdapter(gson, java.lang.Integer.class, reader); } catch (Exception exception) { throw new IOException("Error parsing StatsCollection.plays JSON!", exception); } break; default: reader.skipValue(); break; } } reader.endObject(); return object; }
From source file:com.vimeo.stag.generated.ParseUtils.java
public static CategoryList parseCategoryList(Gson gson, JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();/*from w ww . java 2 s. c o m*/ return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); com.vimeo.networking.model.CategoryList object = new com.vimeo.networking.model.CategoryList(); while (reader.hasNext()) { String name = reader.nextName(); com.google.gson.stream.JsonToken jsonToken = reader.peek(); if (jsonToken == com.google.gson.stream.JsonToken.NULL) { reader.skipValue(); continue; } switch (name) { case "total": if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) { object.total = reader.nextInt(); } else { reader.skipValue(); } break; case "per_page": if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) { object.perPage = reader.nextInt(); } else { reader.skipValue(); } break; case "page": if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) { object.page = reader.nextInt(); } else { reader.skipValue(); } break; case "data": if (jsonToken == com.google.gson.stream.JsonToken.BEGIN_ARRAY) { object.data = ParseUtils.parseArray(gson, reader, com.vimeo.networking.model.Category.class); } else { reader.skipValue(); } break; case "paging": try { object.paging = ParseUtils.parsePaging(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing CategoryList.paging JSON!", exception); } break; default: reader.skipValue(); break; } } reader.endObject(); return object; }
From source file:com.vimeo.stag.generated.ParseUtils.java
public static ConnectionCollection parseConnectionCollection(Gson gson, JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();/*from w w w . j a va 2s. c o m*/ return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); com.vimeo.networking.model.ConnectionCollection object = new com.vimeo.networking.model.ConnectionCollection(); while (reader.hasNext()) { String name = reader.nextName(); com.google.gson.stream.JsonToken jsonToken = reader.peek(); if (jsonToken == com.google.gson.stream.JsonToken.NULL) { reader.skipValue(); continue; } switch (name) { case "appearances": try { object.appearances = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.appearances JSON!", exception); } break; case "trailer": try { object.trailer = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.trailer JSON!", exception); } break; case "ondemand": try { object.ondemand = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.ondemand JSON!", exception); } break; case "videos": try { object.videos = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.videos JSON!", exception); } break; case "feed": try { object.feed = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.feed JSON!", exception); } break; case "credits": try { object.credits = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.credits JSON!", exception); } break; case "shared": try { object.shared = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.shared JSON!", exception); } break; case "categories": try { object.categories = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.categories JSON!", exception); } break; case "recommendations": try { object.recommendations = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.recommendations JSON!", exception); } break; case "recommended_users": try { object.recommendedUsers = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.recommendedUsers JSON!", exception); } break; case "replies": try { object.replies = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.replies JSON!", exception); } break; case "comments": try { object.comments = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.comments JSON!", exception); } break; case "groups": try { object.groups = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.groups JSON!", exception); } break; case "watchlater": try { object.watchlater = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.watchlater JSON!", exception); } break; case "texttracks": try { object.texttracks = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.texttracks JSON!", exception); } break; case "likes": try { object.likes = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.likes JSON!", exception); } break; case "activities": try { object.activities = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.activities JSON!", exception); } break; case "moderated_channels": try { object.moderatedChannels = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.moderatedChannels JSON!", exception); } break; case "related": try { object.related = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.related JSON!", exception); } break; case "users": try { object.users = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.users JSON!", exception); } break; case "following": try { object.following = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.following JSON!", exception); } break; case "pictures": try { object.pictures = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.pictures JSON!", exception); } break; case "followers": try { object.followers = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.followers JSON!", exception); } break; case "albums": try { object.albums = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.albums JSON!", exception); } break; case "channels": try { object.channels = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.channels JSON!", exception); } break; case "playback": try { object.playbackFailureReason = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.playbackFailureReason JSON!", exception); } break; case "recommended_channels": try { object.recommendedChannels = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.recommendedChannels JSON!", exception); } break; case "portfolios": try { object.portfolios = ParseUtils.parseConnection(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing ConnectionCollection.portfolios JSON!", exception); } break; default: reader.skipValue(); break; } } reader.endObject(); return object; }
From source file:com.vimeo.stag.generated.ParseUtils.java
public static VideoFile parseVideoFile(Gson gson, JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();/*from w w w. j a va 2s . c om*/ return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); com.vimeo.networking.model.VideoFile object = new com.vimeo.networking.model.VideoFile(); while (reader.hasNext()) { String name = reader.nextName(); com.google.gson.stream.JsonToken jsonToken = reader.peek(); if (jsonToken == com.google.gson.stream.JsonToken.NULL) { reader.skipValue(); continue; } switch (name) { case "token": if (jsonToken == com.google.gson.stream.JsonToken.STRING) { object.token = reader.nextString(); } else { reader.skipValue(); } break; case "size": if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) { object.size = reader.nextLong(); } else { reader.skipValue(); } break; case "link_expiration_time": try { object.linkExpirationTime = Stag.readFromAdapter(gson, java.util.Date.class, reader); } catch (Exception exception) { throw new IOException("Error parsing VideoFile.linkExpirationTime JSON!", exception); } break; case "fps": if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) { object.fps = reader.nextDouble(); } else { reader.skipValue(); } break; case "height": if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) { object.height = reader.nextInt(); } else { reader.skipValue(); } break; case "quality": try { object.quality = Stag.readFromAdapter(gson, com.vimeo.networking.model.VideoFile.VideoQuality.class, reader); } catch (Exception exception) { throw new IOException("Error parsing VideoFile.quality JSON!", exception); } break; case "link": if (jsonToken == com.google.gson.stream.JsonToken.STRING) { object.link = reader.nextString(); } else { reader.skipValue(); } break; case "license_link": if (jsonToken == com.google.gson.stream.JsonToken.STRING) { object.licenseLink = reader.nextString(); } else { reader.skipValue(); } break; case "width": if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) { object.width = reader.nextInt(); } else { reader.skipValue(); } break; case "md5": if (jsonToken == com.google.gson.stream.JsonToken.STRING) { object.md5 = reader.nextString(); } else { reader.skipValue(); } break; case "log": try { object.log = ParseUtils.parseVideoLog(gson, reader); } catch (Exception exception) { throw new IOException("Error parsing VideoFile.log JSON!", exception); } break; case "created_time": try { object.createdTime = Stag.readFromAdapter(gson, java.util.Date.class, reader); } catch (Exception exception) { throw new IOException("Error parsing VideoFile.createdTime JSON!", exception); } break; case "type": try { object.type = Stag.readFromAdapter(gson, com.vimeo.networking.model.VideoFile.MimeType.class, reader); } catch (Exception exception) { throw new IOException("Error parsing VideoFile.type JSON!", exception); } break; case "expires": try { object.expires = Stag.readFromAdapter(gson, java.util.Date.class, reader); } catch (Exception exception) { throw new IOException("Error parsing VideoFile.expires JSON!", exception); } break; default: reader.skipValue(); break; } } reader.endObject(); return object; }