List of usage examples for com.google.gson GsonBuilder registerTypeAdapter
@SuppressWarnings({ "unchecked", "rawtypes" }) public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter)
From source file:com.hyperaware.conference.eventmobi.parser.gson.GsonParser.java
License:Open Source License
@Override public T parse(InputStream is) throws ParseException { try {// w ww. j a va 2s. co m final GsonBuilder gb = new GsonBuilder(); // Eventmobi serializes booleans as integer strings! Yuck! final BooleanDeserializer bs = new BooleanDeserializer(); gb.registerTypeAdapter(boolean.class, bs); gb.registerTypeAdapter(Boolean.class, bs); final Gson gson = gb.create(); final T response = gson.fromJson(new InputStreamReader(is, GsonParserConstants.CHARSET), clazz); if (response != null) { return response; } else { throw new ParseException("Reader at EOF"); } } catch (Exception e) { throw new ParseException(e); } }
From source file:com.ibasco.agql.protocols.supercell.coc.webapi.interfaces.CocLeagues.java
License:Open Source License
/** * {@inheritDoc}//from w ww . j a v a 2 s.c o m */ @Override protected void configureBuilder(GsonBuilder builder) { super.configureBuilder(builder); builder.registerTypeAdapter(CocLeagueSeason.class, new CocLeagueSeasonDeserializer()); }
From source file:com.ibasco.agql.protocols.valve.csgo.webapi.interfaces.CsgoServers.java
License:Open Source License
@Override protected void configureBuilder(GsonBuilder builder) { builder.registerTypeAdapter(new TypeToken<List<CsgoDatacenterStatus>>() { }.getType(), new CsgoDatacenterStatusDeserializer()); }
From source file:com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.Dota2Match.java
License:Open Source License
@Override protected void configureBuilder(GsonBuilder builder) { log.info("Registering Type Adapter"); builder.registerTypeAdapter(Dota2MatchTeamInfo.class, new Dota2TeamInfoAdapter()); }
From source file:com.ibasco.agql.protocols.valve.steam.webapi.interfaces.SteamEconomy.java
License:Open Source License
@Override protected void configureBuilder(GsonBuilder builder) { builder.registerTypeAdapter(new TypeToken<Map<String, SteamAssetClassInfo>>() { }.getType(), new SteamAssetClassInfoMapDeserializer()); builder.registerTypeAdapter(SteamAssetDescription.class, new SteamAssetDescDeserializer()); }
From source file:com.ibasco.agql.protocols.valve.steam.webapi.interfaces.SteamStorefront.java
License:Open Source License
@Override protected void configureBuilder(GsonBuilder builder) { builder.registerTypeAdapter(StoreAppPcRequirements.class, new StoreAppPcRequirementsDeserializer()); }
From source file:com.ibm.common.activitystreams.internal.GsonWrapper.java
License:Apache License
/** * Method initGsonBuilder./*from w ww. j a va 2 s . c o m*/ * @param builder Builder * @return GsonBuilder */ private static GsonBuilder initGsonBuilder(Builder builder, Schema schema, ASObjectAdapter base, Iterable<AdapterEntry<?>> adapters) { GsonBuilder gson = new GsonBuilder() .registerTypeHierarchyAdapter(TypeValue.class, new TypeValueAdapter(schema)) .registerTypeHierarchyAdapter(LinkValue.class, new LinkValueAdapter(schema)) .registerTypeHierarchyAdapter(Iterable.class, ITERABLE) .registerTypeHierarchyAdapter(ASObject.class, base) .registerTypeHierarchyAdapter(Collection.class, base) .registerTypeHierarchyAdapter(Activity.class, base).registerTypeHierarchyAdapter(NLV.class, NLV) .registerTypeHierarchyAdapter(ActionsValue.class, ACTIONS) .registerTypeHierarchyAdapter(Optional.class, OPTIONAL) .registerTypeHierarchyAdapter(Range.class, RANGE).registerTypeHierarchyAdapter(Table.class, TABLE) .registerTypeHierarchyAdapter(LazilyParsedNumber.class, NUMBER) .registerTypeHierarchyAdapter(LazilyParsedNumberComparable.class, NUMBER) .registerTypeHierarchyAdapter(ReadableDuration.class, DURATION) .registerTypeHierarchyAdapter(ReadablePeriod.class, PERIOD) .registerTypeHierarchyAdapter(ReadableInterval.class, INTERVAL) .registerTypeAdapter(Activity.Status.class, forEnum(Activity.Status.class, Activity.Status.OTHER)) .registerTypeAdapter(Date.class, DATE).registerTypeAdapter(DateTime.class, DATETIME) .registerTypeAdapter(MediaType.class, MIMETYPE) .registerTypeHierarchyAdapter(Multimap.class, MULTIMAP); for (AdapterEntry<?> entry : adapters) { if (entry.hier) gson.registerTypeHierarchyAdapter(entry.type, entry.adapter != null ? entry.adapter : base); else gson.registerTypeAdapter(entry.type, entry.adapter != null ? entry.adapter : base); } return gson; }
From source file:com.ibm.csync.internals.websocket.CSTransport.java
License:Open Source License
public CSTransport(WebSocketConnection webSocketConnection) { this.socketConnection = webSocketConnection; GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(CSValue.class, new CSValueDeserializer()); gson = gsonBuilder.create();// w ww .jav a2 s.c o m }
From source file:com.ibm.g11n.pipeline.client.impl.ServiceClientImpl.java
License:Open Source License
/** * Creates a new Gson object//from www .j a v a 2 s .com * * @param className A class name used for serialization/deserialization. * <p>Note: This implementation does not use this argument * for now. If we need different kinds of type adapters * depending on class, the implementation might be updated * to set up appropriate set of type adapters. * @return A Gson object */ private static Gson createGson(String className) { GsonBuilder builder = new GsonBuilder(); // ISO8601 date format support builder.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX"); builder.registerTypeAdapter(TranslationStatus.class, new TranslationStatusAdapter()); builder.registerTypeAdapter(new TypeToken<EnumMap<TranslationStatus, Integer>>() { }.getType(), new EnumMapInstanceCreator<TranslationStatus, Integer>(TranslationStatus.class)); builder.registerTypeAdapterFactory(new NullMapValueTypeAdapterFactory()); return builder.create(); }
From source file:com.ibm.watson.developer_cloud.util.GsonSingleton.java
License:Open Source License
private static void registerTypeAdapters(GsonBuilder builder) { // Date serializer and deserializer builder.registerTypeAdapter(Date.class, new DateDeserializer()); builder.registerTypeAdapter(Date.class, new DateSerializer()); }