Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.json;
- import java.lang.reflect.Type;
- import com.google.gson.JsonDeserializationContext;
- import com.google.gson.JsonDeserializer;
- import com.google.gson.JsonElement;
- import com.google.gson.JsonObject;
- public class EntryDeserializer implements JsonDeserializer<IEntry> {
- @Override
- public IEntry deserialize(JsonElement json, Type type, JsonDeserializationContext context) {
- final JsonObject jObject = json.getAsJsonObject();
- try {
- final IEntry entry = EntryDataStore.getEntryClassFromString(jObject.get("type").getAsString()).newInstance();
- if(entry instanceof DinoEntry && entry != null) {
- DinoEntry dino = (DinoEntry)entry;
- dino.setID(jObject.get("id").getAsInt());
- dino.setTitle(jObject.get("title").getAsString());
- dino.setDiet(jObject.get("diet").getAsString());
- dino.setTemperament(jObject.get("temperament").getAsString());
- return dino;
- }
- else if(entry instanceof TextEntry && entry != null) {
- TextEntry text = (TextEntry)entry;
- text.setID(jObject.get("id").getAsInt());
- text.setTitle(jObject.get("title").getAsString());
- text.setText(jObject.get("text").getAsString());
- return text;
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment