Android Open Source - NetworkFacade Repositories Deserializer






From Project

Back to project page NetworkFacade.

License

The source code is released under:

Apache License

If you think the Android project NetworkFacade listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.saguinav.networkfacade.sample;
//w w w  .  j  av  a 2  s  .c  om
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 java.util.List;


public class RepositoriesDeserializer implements JsonDeserializer<List<Repository>> {

    @Override
    public List<Repository> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
        throws JsonParseException {
        return ((RepositoriesBuilder) context.deserialize(json, RepositoriesBuilder.class)).build();
    }

    private static class RepositoriesBuilder {

        RepositoryBuilder[] items;

        public List<Repository> build() {
            final List<Repository> repositories = new ArrayList<Repository>(items.length);

            for (RepositoryBuilder builder : items) {
                repositories.add(builder.build());
            }

            return repositories;
        }

    }

    private static class RepositoryBuilder {

        public String id;
        public String name;

        public Repository build() {
            return new Repository(id, name);
        }

    }

}




Java Source Code List

com.android.volley.toolbox.AuthenticationChallengesProofHurlStack.java
com.saguinav.networkfacade.ApplicationTest.java
com.saguinav.networkfacade.HttpBody.java
com.saguinav.networkfacade.HttpClient.java
com.saguinav.networkfacade.HttpError.java
com.saguinav.networkfacade.HttpRequest.java
com.saguinav.networkfacade.RetryPolicy.java
com.saguinav.networkfacade.sample.HeadlessFragment.java
com.saguinav.networkfacade.sample.HttpClientSingleton.java
com.saguinav.networkfacade.sample.MainActivity.java
com.saguinav.networkfacade.sample.OkHttpApplication.java
com.saguinav.networkfacade.sample.OkHttpClient.java
com.saguinav.networkfacade.sample.RepositoriesDeserializer.java
com.saguinav.networkfacade.sample.Repository.java
com.saguinav.networkfacade.sample.SimpleURLBuilder.java
com.saguinav.networkfacade.sample.VolleyApplication.java
com.saguinav.networkfacade.sample.VolleyHttpClient.java