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.srotya.tau.wraith.rules.RuleSerializer.java

License:Apache License

/**
 * Serialize {@link Rule}s to JSON string
 * /*from  ww  w.jav a2s. c  om*/
 * @param rules
 * @return rules as JSON
 */
public static String serializeRulesToJSONString(List<Rule> rules, boolean pretty) {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Condition.class, new ConditionSerializer());
    gsonBuilder.registerTypeAdapter(Action.class, new ActionSerializer());
    gsonBuilder.disableHtmlEscaping();
    if (pretty) {
        gsonBuilder.setPrettyPrinting();
    }
    Gson gson = gsonBuilder.create();
    return gson.toJson(rules);
}

From source file:com.srotya.tau.wraith.rules.RuleSerializer.java

License:Apache License

/**
 * Serialize {@link Rule} to JSON string
 * //from w  w  w .j  ava  2s. c  o  m
 * @param rule
 * @return rule as JSON
 */
public static String serializeRuleToJSONString(Rule rule, boolean pretty) {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Condition.class, new ConditionSerializer());
    gsonBuilder.registerTypeAdapter(Action.class, new ActionSerializer());
    gsonBuilder.disableHtmlEscaping();
    if (pretty) {
        gsonBuilder.setPrettyPrinting();
    }
    Gson gson = gsonBuilder.create();
    return gson.toJson(rule);
}

From source file:com.srotya.tau.wraith.rules.RuleSerializer.java

License:Apache License

/**
 * Deserialize {@link Rule}s from JSON//from  ww w  .j a  v a2 s .co m
 * 
 * @param jsonRule
 * @return array of ruleObjects
 */
public static SimpleRule[] deserializeJSONStringToRules(String jsonRule) {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Condition.class, new ConditionSerializer());
    gsonBuilder.registerTypeAdapter(Action.class, new ActionSerializer());
    gsonBuilder.disableHtmlEscaping();
    Gson gson = gsonBuilder.create();
    SimpleRule[] rules = gson.fromJson(jsonRule, SimpleRule[].class);
    if (rules != null) {
        for (SimpleRule rule : rules) {
            sortActionsById(rule);
        }
    }
    return rules;
}

From source file:com.srotya.tau.wraith.rules.RuleSerializer.java

License:Apache License

/**
 * Deserialize {@link Rule} from JSON//from   w  w w. j av a2  s.c  om
 * 
 * @param jsonRule
 * @return ruleObject
 */
public static SimpleRule deserializeJSONStringToRule(String jsonRule) {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Condition.class, new ConditionSerializer());
    gsonBuilder.registerTypeAdapter(Action.class, new ActionSerializer());
    gsonBuilder.disableHtmlEscaping();
    Gson gson = gsonBuilder.create();
    SimpleRule rule = gson.fromJson(jsonRule, SimpleRule.class);
    sortActionsById(rule);
    return rule;
}

From source file:com.stackmob.sdk.model.StackMobModel.java

License:Apache License

public StackMobModel(Class<? extends StackMobModel> actualClass) {
    this.actualClass = actualClass;
    schemaName = actualClass.getSimpleName().toLowerCase();
    ensureValidName(schemaName, "model");
    ensureMetadata(actualClass);/* www .  j a  v a  2 s  .  com*/
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Date.class, new DateAsNumberTypeAdapter());
    gson = gsonBuilder.create();
}

From source file:com.textcontrol.reportingcloud.gson.MergeBlockDeserializer.java

@Override
public MergeBlock deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
        throws JsonParseException {
    List<MergeBlock> mergeBlocks = new ArrayList<>();
    List<MergeField> mergeFields = new ArrayList<>();
    GsonBuilder gb = new GsonBuilder();
    gb.registerTypeAdapter(MergeBlock.class, new MergeBlockDeserializer());
    gb.registerTypeAdapter(MergeField.class, new MergeFieldDeserializer());
    Gson gson = gb.create();/*from   w w w.  j a  v a  2  s  .  c o  m*/

    JsonObject jsonObj = json.getAsJsonObject();
    for (JsonElement elem : jsonObj.get("mergeBlocks").getAsJsonArray()) {
        mergeBlocks.add(gson.fromJson(elem, MergeBlock.class));
    }
    for (JsonElement elem : jsonObj.get("mergeFields").getAsJsonArray()) {
        mergeFields.add(gson.fromJson(elem, MergeField.class));
    }
    return new MergeBlock(jsonObj.get("name").getAsString(), mergeBlocks, mergeFields);
}

From source file:com.textcontrol.reportingcloud.gson.MergeBodySerializer.java

@Override
public JsonElement serialize(MergeBody src, Type typeOfSrc, JsonSerializationContext context) {
    GsonBuilder gb = new GsonBuilder();
    gb.registerTypeAdapter(MergeSettings.class, new MergeSettingsSerializer());
    gb.serializeNulls();//from   w  ww  .  j av a  2  s.c om
    Gson gson = gb.create();

    JsonObject result = new JsonObject();
    byte[] templateData = src.getTemplate();
    String templateDataB64 = null;
    if (templateData != null) {
        templateDataB64 = Base64.getEncoder().encodeToString(templateData);
    }

    result.addProperty("template", templateDataB64);
    result.add("mergeSettings", gson.toJsonTree(src.getMergeSettings()));
    result.add("mergeData", gson.toJsonTree(src.getMergeData()));
    return result;
}

From source file:com.textcontrol.reportingcloud.gson.TemplateInfoDeserializer.java

@Override
public TemplateInfo deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
        throws JsonParseException {
    List<MergeBlock> mergeBlocks = new ArrayList<>();
    List<MergeField> mergeFields = new ArrayList<>();
    GsonBuilder gb = new GsonBuilder();
    gb.registerTypeAdapter(MergeBlock.class, new MergeBlockDeserializer());
    gb.registerTypeAdapter(MergeField.class, new MergeFieldDeserializer());
    Gson gson = gb.create();// w  w  w .j  ava2 s. co m

    JsonObject jsonObj = json.getAsJsonObject();
    for (JsonElement elem : jsonObj.get("mergeBlocks").getAsJsonArray()) {
        mergeBlocks.add(gson.fromJson(elem, MergeBlock.class));
    }
    for (JsonElement elem : jsonObj.get("mergeFields").getAsJsonArray()) {
        mergeFields.add(gson.fromJson(elem, MergeField.class));
    }
    return new TemplateInfo(jsonObj.get("templateName").getAsString(), mergeBlocks, mergeFields);
}

From source file:com.textcontrol.reportingcloud.ReportingCloud.java

/**
 * Creates a new ReportingCloud wrapper instance.
 *
 * @param username The username.//from  w  ww . j  a v a2s  .  co m
 * @param password The password.
 * @param baseUrl The API base URL.
 */
public ReportingCloud(String username, String password, String baseUrl) {
    _username = username;
    _password = password;
    _baseUrl = baseUrl;
    // Remove possible slash at the end of base url
    if (_baseUrl.endsWith("/"))
        _baseUrl = _baseUrl.substring(0, _baseUrl.length() - 2);
    _version = DEFAULT_VERSION;

    // Register custom JSON deserializers and create json parser instance
    GsonBuilder gb = new GsonBuilder();
    gb.registerTypeAdapter(Template.class, new TemplateDeserializer());
    gb.registerTypeAdapter(AccountSettings.class, new AccountSettingsDeserializer());
    gb.registerTypeAdapter(MergeSettings.class, new MergeSettingsSerializer());
    gb.registerTypeAdapter(MergeBody.class, new MergeBodySerializer());
    gb.registerTypeAdapter(TemplateInfo.class, new TemplateInfoDeserializer());
    gb.registerTypeAdapter(FindAndReplaceBody.class, new FindAndReplaceBodySerializer());
    gb.serializeNulls();
    _gson = gb.create();
}

From source file:com.thirstygoat.kiqo.persistence.GraphAdapterBuilder.java

License:Apache License

public void registerOn(GsonBuilder gsonBuilder) {
    final Factory factory = new Factory(instanceCreators);
    gsonBuilder.registerTypeAdapterFactory(factory);
    for (final Map.Entry<Type, InstanceCreator<?>> entry : instanceCreators.entrySet()) {
        gsonBuilder.registerTypeAdapter(entry.getKey(), factory);
    }//from   w  w  w  .  j av  a  2 s .c  om
}