Example usage for com.google.gson GsonBuilder registerTypeAdapter

List of usage examples for com.google.gson GsonBuilder registerTypeAdapter

Introduction

In this page you can find the example usage for com.google.gson GsonBuilder registerTypeAdapter.

Prototype

@SuppressWarnings({ "unchecked", "rawtypes" })
public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter) 

Source Link

Document

Configures Gson for custom serialization or deserialization.

Usage

From source file:com.unifonic.sdk.resources.http.VerifyResourceImpl.java

License:Open Source License

public VerifyResourceImpl(String appSid, IVerifyUrl verifyUrl) {
    super(appSid);
    this.verifyUrl = verifyUrl;
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Date.class, new DateConverter());
    GSON = gsonBuilder.create();//from  w ww.  java2  s. c o  m
}

From source file:com.unifonic.sdk.resources.http.VoiceResourceImpl.java

License:Open Source License

public VoiceResourceImpl(String appSid, IVoiceUrl voiceUrl) {
    super(appSid);
    this.voiceUrl = voiceUrl;
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Date.class, new DateConverter());
    GSON = gsonBuilder.create();//  ww w . j av a 2s.c  o m
}

From source file:com.unovo.frame.utils.gson.GsonHelper.java

License:Open Source License

private static Gson createGson() {
    GsonBuilder gsonBuilder = new GsonBuilder();
    //gsonBuilder.setExclusionStrategies(new SpecificClassExclusionStrategy(null, Model.class));
    gsonBuilder.setDateFormat("yyyy-MM-dd HH:mm:ss");

    JsonDeserializer deserializer = new IntegerJsonDeserializer();
    gsonBuilder.registerTypeAdapter(int.class, deserializer);
    gsonBuilder.registerTypeAdapter(Integer.class, deserializer);

    deserializer = new FloatJsonDeserializer();
    gsonBuilder.registerTypeAdapter(float.class, deserializer);
    gsonBuilder.registerTypeAdapter(Float.class, deserializer);

    deserializer = new DoubleJsonDeserializer();
    gsonBuilder.registerTypeAdapter(double.class, deserializer);
    gsonBuilder.registerTypeAdapter(Double.class, deserializer);

    deserializer = new StringJsonDeserializer();
    gsonBuilder.registerTypeAdapter(String.class, deserializer);

    deserializer = new ListJsonDeserializer();
    gsonBuilder.registerTypeAdapter(List.class, deserializer);

    return gsonBuilder.create();
}

From source file:com.urswolfer.gerrit.client.rest.gson.GsonFactory.java

License:Apache License

public static Gson create() {
    GsonBuilder builder = new GsonBuilder();
    builder.registerTypeAdapter(Date.class, new DateDeserializer());
    builder.registerTypeAdapter(Date.class, new DateSerializer());
    builder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
    return builder.create();
}

From source file:com.ushahidi.android.data.api.BaseApiTestCase.java

License:Open Source License

@Before
public void setUp() throws IOException {
    GsonBuilder builder = new GsonBuilder();
    builder.setDateFormat("yyyy-MM-dd'T'HH:mm:ssX");
    builder.registerTypeAdapter(Date.class, new DateDeserializer());
    mGson = builder.create();//  w  ww  .  j  a va  2 s  .  c om
}

From source file:com.ushahidi.android.data.api.PlatformService.java

License:Open Source License

private void initializeGson() {
    GsonBuilder builder = new GsonBuilder();
    builder.setDateFormat("yyyy-MM-dd'T'HH:mm:ss");
    builder.registerTypeAdapter(Date.class, new DateDeserializer());
    builder.registerTypeAdapter(PostValueEntity.class, new ValueDeserializer());
    Gson gson = builder.create();/* w  ww  .  j  a  v a 2s .c o  m*/
    mGsonConverter = new GsonConverter(gson);
}

From source file:com.ushahidi.android.data.BaseTestCase.java

License:Open Source License

@Before
public void setUp() throws Exception {
    GsonBuilder builder = new GsonBuilder();
    builder.setDateFormat("yyyy-MM-dd'T'HH:mm:ssX");
    builder.registerTypeAdapter(Date.class, new DateDeserializer());
    builder.registerTypeAdapter(PostValueEntity.class, new ValueDeserializer());
    mGson = builder.create();//ww  w  . j  a  v  a 2 s  .  c  o  m

}

From source file:com.ushahidi.android.util.ApiServiceUtil.java

License:Open Source License

public <T> T createService(Class<T> serviceClass, String baseUrl, final String accessToken) {

    Preconditions.checkNotNull(serviceClass);

    ApiHeader header = new ApiHeader(accessToken);
    Endpoint endpoint = Endpoints.newFixedEndpoint(baseUrl);
    GsonBuilder builder = new GsonBuilder();
    builder.setDateFormat("yyyy-MM-dd'T'HH:mm:ss");
    builder.registerTypeAdapter(Date.class, new DateDeserializer());
    builder.registerTypeAdapter(PostValueEntity.class, new ValueDeserializer());
    Gson gson = builder.create();/*from w w  w  . jav a 2  s  . c  o m*/
    RestAdapter restAdapter = new RestAdapter.Builder().setConverter(new GsonConverter(gson)).setClient(mClient)
            .setEndpoint(endpoint).setLogLevel(RestAdapter.LogLevel.FULL)
            .setErrorHandler(mUnauthorizedAccessErrorHandler).setRequestInterceptor(header).build();

    return restAdapter.create(serviceClass);
}

From source file:com.ushahidi.platform.mobile.app.data.api.PlatformService.java

License:Open Source License

private void initializeGson() {
    GsonBuilder builder = new GsonBuilder();
    builder.setDateFormat("yyyy-MM-dd'T'HH:mm:ss");
    builder.registerTypeAdapter(Date.class, new DateDeserializer());
    builder.registerTypeAdapter(PostValueEntity.class, new PostValueDeserializer());
    builder.registerTypeAdapter(AllowedPrivilegesEntity.class, new AllowedPrivilegesDeserializer());
    builder.registerTypeAdapter(PostCompletedStagesEntity.class, new PostCompletedStagesDeserializer());
    builder.registerTypeAdapter(PostPublishedToEntity.class, new PostPublishToDeserializer());
    Gson gson = builder.create();//from  ww  w . j av  a2s .  c  o m
    mGsonConverter = new GsonConverter(gson);
}

From source file:com.uwetrottmann.tmdb.TmdbHelper.java

License:Apache License

/**
 * Create a {@link com.google.gson.GsonBuilder} and register all of the custom types needed in
 * order to properly deserialize complex TMDb-specific types.
 *
 * @return Assembled GSON builder instance.
 *//* w w  w  . ja v a  2s  .  c om*/
public static GsonBuilder getGsonBuilder() {
    GsonBuilder builder = new GsonBuilder();

    // class types
    builder.registerTypeAdapter(Integer.class, new JsonDeserializer<Integer>() {
        @Override
        public Integer deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                throws JsonParseException {
            try {
                return Integer.valueOf(json.getAsInt());
            } catch (NumberFormatException e) {
                return null;
            }
        }
    });
    builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
        @Override
        public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                throws JsonParseException {

            try {
                return JSON_STRING_DATE.parse(json.getAsString());
            } catch (ParseException e) {
                return null;
            }
        }
    });

    return builder;
}