List of usage examples for com.google.gson.stream JsonReader endObject
public void endObject() throws IOException
From source file:com.flipkart.batching.gson.adapters.batch.SizeBatchTypeAdapter.java
License:Open Source License
@Override public SizeBatch<T> read(JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();/*from w w w. ja v a 2 s .co m*/ return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); int maxBatchSize = 0; DataCollection<T> dataCollection = null; 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 "maxBatchSize": maxBatchSize = BatchingTypeAdapters.INTEGER.read(reader); break; case "dataCollection": dataCollection = typeAdapter.read(reader); break; default: reader.skipValue(); break; } } reader.endObject(); return dataCollection == null ? null : new SizeBatch<>(dataCollection.dataCollection, maxBatchSize); }
From source file:com.flipkart.batching.gson.adapters.batch.SizeTimeBatchTypeAdapter.java
License:Open Source License
@Override public SizeTimeBatch<T> read(JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();/*ww w . j ava 2 s . c o m*/ return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); int maxBatchSize = 0; DataCollection<T> dataCollection = null; long timeout = 0L; 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 "maxBatchSize": maxBatchSize = BatchingTypeAdapters.INTEGER.read(reader); break; case "dataCollection": dataCollection = typeAdapter.read(reader); break; case "timeOut": timeout = BatchingTypeAdapters.LONG.read(reader); break; default: reader.skipValue(); break; } } reader.endObject(); return dataCollection == null ? null : new SizeTimeBatch<>(dataCollection.dataCollection, maxBatchSize, timeout); }
From source file:com.flipkart.batching.gson.adapters.batch.TagBatchTypeAdapter.java
License:Open Source License
@Override public TagBatch<T> read(JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();//from w w w.j a va 2 s . co m return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); Tag tag = null; DataCollection<T> collection = null; 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 "tag": tag = tagTypeAdapter.read(reader); break; case "dataCollection": collection = typeAdapter.read(reader); break; default: reader.skipValue(); break; } } reader.endObject(); return collection == null || tag == null ? null : new TagBatch<>(tag, new BatchImpl<>(collection.dataCollection)); }
From source file:com.flipkart.batching.gson.adapters.batch.TimeBatchTypeAdapter.java
License:Open Source License
@Override public TimeBatch<T> read(JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();/* ww w . ja v a 2s.c om*/ return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); long timeOut = 0L; DataCollection<T> dataCollection = null; 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 "timeOut": timeOut = BatchingTypeAdapters.LONG.read(reader); break; case "dataCollection": dataCollection = typeAdapter.read(reader); break; default: reader.skipValue(); break; } } reader.endObject(); return dataCollection == null ? null : new TimeBatch<>(dataCollection.dataCollection, timeOut); }
From source file:com.flipkart.batching.gson.adapters.BatchImplTypeAdapter.java
License:Open Source License
@Override public BatchImpl<T> read(JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();// w w w . j a v a 2 s . c om return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); DataCollection<T> dataCollection = null; 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 "dataCollection": dataCollection = typeAdapter.read(reader); break; default: reader.skipValue(); break; } } reader.endObject(); return dataCollection == null ? null : new BatchImpl<T>(dataCollection.dataCollection); }
From source file:com.flipkart.batching.gson.adapters.data.EventDataTypeAdapter.java
License:Open Source License
@Override public EventData read(JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();/*from w w w . j av a 2s . c om*/ return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); EventData object = new EventData(); 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 "eventId": object.setEventId(BatchingTypeAdapters.LONG.read(reader)); break; default: reader.skipValue(); break; } } reader.endObject(); return object; }
From source file:com.flipkart.batching.gson.adapters.data.TagDataTypeAdapter.java
License:Open Source License
@Override public TagData read(JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();/*from w w w . ja va 2s .c o m*/ return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); Tag tag = null; long eventId = 0L; 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 "tag": tag = tagTypeAdapter.read(reader); break; case "eventId": eventId = BatchingTypeAdapters.LONG.read(reader); break; default: reader.skipValue(); break; } } reader.endObject(); TagData tagData = new TagData(tag); tagData.setEventId(eventId); return tagData; }
From source file:com.flipkart.batching.gson.adapters.data.TagTypeAdapter.java
License:Open Source License
@Override public Tag read(JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();/*from w w w.ja v a 2 s .c o m*/ return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); String id = null; 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 "id": id = com.google.gson.internal.bind.TypeAdapters.STRING.read(reader); break; default: reader.skipValue(); break; } } reader.endObject(); return id == null ? null : new Tag(id); }
From source file:com.flipkart.batching.gson.adapters.DataCollectionTypeAdapter.java
License:Open Source License
@Override public DataCollection<T> read(JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull();/*from w ww . ja v a 2 s . c o m*/ return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); Collection<T> collection = null; 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 "dataCollection": collection = collectionTypeAdapter.read(reader); break; default: reader.skipValue(); break; } } reader.endObject(); return null != collection ? new DataCollection<>(collection) : null; }
From source file:com.flipkart.batching.gson.RuntimeTypeAdapterFactory.java
License:Open Source License
public <R> TypeAdapter<R> create(Gson gson, TypeToken<R> type) { if (type.getRawType() != baseType) { return null; }//from www . j a va 2 s. c o m final Map<String, TypeAdapter<?>> labelToDelegate = new LinkedHashMap<>(); final Map<Class<?>, TypeAdapter<?>> subtypeToDelegate = new LinkedHashMap<>(); for (Map.Entry<String, Class<?>> entry : labelToSubtype.entrySet()) { TypeAdapter<?> delegate = labelToTypeAdapter.get(entry.getKey()); if (delegate == null) { delegate = gson.getDelegateAdapter(this, TypeToken.get(entry.getValue())); } labelToDelegate.put(entry.getKey(), delegate); subtypeToDelegate.put(entry.getValue(), delegate); } return new TypeAdapter<R>() { @Override public R read(JsonReader reader) throws IOException { if (reader.peek() == com.google.gson.stream.JsonToken.NULL) { reader.nextNull(); return null; } if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) { reader.skipValue(); return null; } reader.beginObject(); String label = null; R result = null; 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 "type": label = TypeAdapters.STRING.read(reader); break; case "value": @SuppressWarnings("unchecked") // registration requires that subtype extends T TypeAdapter<R> delegate = label == null ? null : (TypeAdapter<R>) labelToDelegate.get(label); if (delegate == null) { throw new JsonParseException("cannot deserialize " + baseType + " subtype named " + label + "; did you forget to register a subtype?"); } result = delegate.read(reader); break; default: reader.skipValue(); break; } } reader.endObject(); return result; } @Override public void write(JsonWriter out, R value) throws IOException { Class<?> srcType = value.getClass(); @SuppressWarnings("unchecked") // registration requires that subtype extends T TypeAdapter<R> delegate = (TypeAdapter<R>) subtypeToDelegate.get(srcType); if (delegate == null) { throw new JsonParseException( "cannot serialize " + srcType.getName() + "; did you forget to register a subtype?"); } String label = subtypeToLabel.get(srcType); out.beginObject(); out.name("type"); out.value(label); out.name("value"); delegate.write(out, value); out.endObject(); } }.nullSafe(); }