package cy.agorise.graphenej; import com.google.gson.JsonArray; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; import java.lang.reflect.Type; import java.util.ArrayList; import cy.agorise.graphenej.interfaces.ByteSerializable; import cy.agorise.graphenej.interfaces.JsonSerializable; /** * Created by nelson on 11/9/16. */ public class Extensions implements JsonSerializable, ByteSerializable { public static final String KEY_EXTENSIONS = "extensions"; private ArrayList extensions; public Extensions(){ extensions = new ArrayList<>(); } @Override public String toJsonString() { return null; } @Override public JsonElement toJsonObject() { JsonArray array = new JsonArray(); for(JsonSerializable o : extensions) array.add(o.toJsonObject()); return array; } @Override public byte[] toBytes() { return new byte[1]; } public int size(){ return extensions.size(); } /** * Custom de-serializer used to avoid problems when de-serializing an object that contains * an extension array. */ public static class ExtensionsDeserializer implements JsonDeserializer { @Override public Extensions deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { return null; } } }