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.thoughtworks.go.plugin.access.configrepo.codec.GsonCodec.java

License:Apache License

public GsonCodec(GsonBuilder builder) {
    // here we can register extra configurations, policies, adapters
    builder.registerTypeAdapter(CRMaterial.class, new MaterialTypeAdapter());
    builder.registerTypeAdapter(CRTask.class, new TaskTypeAdapter());

    gson = builder.create();//from  w w w .  ja  v  a  2s.c  o  m
}

From source file:com.thoughtworks.go.plugin.configrepo.codec.GsonCodec.java

License:Apache License

public GsonCodec(GsonBuilder builder) {
    // here we can register extra configurations, policies, adapters
    builder.registerTypeAdapter(CRMaterial.class, new MaterialTypeAdapter());
    builder.registerTypeAdapter(CRTask.class, new TaskTypeAdapter());
    builder.registerTypeAdapter(CRArtifact.class, new ArtifactTypeAdapter());
    builder.excludeFieldsWithoutExposeAnnotation();

    gson = builder.create();//  w ww. j a v a 2  s . c o  m
}

From source file:com.thoughtworks.go.server.web.JsonRenderer.java

License:Apache License

private static Gson gsonBuilder(final GoRequestContext requestContext) {
    GsonBuilder builder = new GsonBuilder();
    builder.registerTypeAdapter(JsonUrl.class, (JsonSerializer<JsonUrl>) (src, typeOfSrc, context) -> {
        if (requestContext == null) {
            return new JsonPrimitive(src.getUrl());
        } else {/*from   w w w.  jav a2 s.  co m*/
            return new JsonPrimitive(requestContext.getFullRequestPath() + src.getUrl());
        }
    });

    builder.registerTypeHierarchyAdapter(MessageSourceResolvable.class,
            (JsonSerializer<MessageSourceResolvable>) (src, typeOfSrc, context) -> {
                if (requestContext == null) {
                    return new JsonPrimitive(src.getDefaultMessage());
                } else {
                    return new JsonPrimitive(requestContext.getMessage(src));
                }
            });

    builder.serializeNulls();
    return builder.create();
}

From source file:com.threewks.thundr.json.GsonSupport.java

License:Apache License

public static GsonBuilder createBasicGsonBuilder() {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(DateTime.class, new DateTimeTypeConvertor());
    gsonBuilder.registerTypeAdapter(DateTimeZone.class, new DateTimeZoneTypeConvertor());
    return gsonBuilder;
}

From source file:com.tmall.wireless.tangram.example.dataparser.SampleDataParser.java

License:Open Source License

private void addCardStyle(JSONObject cardData, Card card) {
    try {//from   w  w w . ja  v a2 s  . c o  m
        GsonBuilder gsonBuilder = new GsonBuilder();
        gsonBuilder.registerTypeAdapter(Float.class, new JsonSerializer<Float>() {
            @Override
            public JsonElement serialize(final Float src, final Type typeOfSrc,
                    final JsonSerializationContext context) {
                try {
                    if (src.isInfinite() || src.isNaN()) {
                        return new JsonPrimitive(0f);
                    }
                    BigDecimal value = BigDecimal.valueOf(src);
                    return new JsonPrimitive(value);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return new JsonPrimitive(0f);
            }
        });

        Gson gson = gsonBuilder.create();
        GridCard.GridStyle gridStyle = new GridCard.GridStyle();
        if (card instanceof BannerCard) {
            gridStyle.aspectRatio = 3.223f;
        }
        cardData.put(Card.KEY_STYLE, new JSONObject(gson.toJson(gridStyle)));
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

From source file:com.totango.discoveryagent.ConsulClientFactory.java

License:Apache License

private Gson createGson() {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Service.class, new ServiceDeserializer());
    gsonBuilder.registerTypeAdapter(Value.class, new ValueDeserializer());
    return gsonBuilder.create();
}

From source file:com.twitter.intellij.pants.service.project.model.ProjectInfo.java

License:Apache License

public static ProjectInfo fromJson(@NotNull String data) {
    final GsonBuilder builder = new GsonBuilder();
    builder.registerTypeAdapter(TargetInfo.class, TargetInfoDeserializer.INSTANCE);
    builder.registerTypeAdapter(LibraryInfo.class, LibraryInfoDeserializer.INSTANCE);
    final ProjectInfo projectInfo = builder.create().fromJson(data, ProjectInfo.class);
    projectInfo.initTargetAddresses();/*from w w w .ja  v  a  2 s  . co m*/

    return projectInfo;
}

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

License:Open Source License

public AccountResourceImpl(String appSid, IAccountUrl accountUrl) {
    super(appSid);
    this.accountUrl = accountUrl;
    GsonBuilder gsonBuilder = new GsonBuilder();
    BooleanConverter booleanConverter = new BooleanConverter();
    gsonBuilder.registerTypeAdapter(Boolean.class, booleanConverter);
    gsonBuilder.registerTypeAdapter(boolean.class, booleanConverter);
    gsonBuilder.registerTypeAdapter(Date.class, new DateConverter());
    GSON = gsonBuilder.create();/*from  www .  j a v  a 2s .c  om*/
}

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

License:Open Source License

public EmailResourceImpl(String appSid, IEmailUrl emailUrl) {
    super(appSid);
    this.emailUrl = emailUrl;
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Date.class, new DateConverter());
    GSON = gsonBuilder.create();//ww w  .  ja v  a  2 s . com
}

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

License:Open Source License

public MessagesResourceImpl(String appSid, IMessageUrl messageUrl) {
    super(appSid);
    this.messageUrl = messageUrl;
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Date.class, new DateConverter());
    GSON = gsonBuilder.create();/*  w  w  w  . j  a  v  a  2 s. c om*/
}