List of usage examples for com.google.gson GsonBuilder registerTypeAdapter
@SuppressWarnings({ "unchecked", "rawtypes" }) public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter)
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 }