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.antew.redditinpictures.library.json.JsonDeserializer.java

License:Apache License

public static Gson getGson() {
    if (gson == null) {
        GsonBuilder builder = new GsonBuilder();
        builder.registerTypeAdapter(Vote.class, new VoteAdapter());
        builder.serializeNulls();/*from   w ww.jav  a2 s  . co  m*/
        gson = builder.create();
    }

    return gson;
}

From source file:com.appslandia.common.json.GsonProcessor.java

License:Open Source License

public static GsonBuilder newBuilder() {
    GsonBuilder builder = new GsonBuilder();
    builder.setExclusionStrategies(new ExclusionStrategy() {

        @Override/*from  ww  w.  java2  s. c o m*/
        public boolean shouldSkipField(FieldAttributes attrs) {
            return attrs.getAnnotation(NotBind.class) != null;
        }

        @Override
        public boolean shouldSkipClass(Class<?> clazz) {
            return false;
        }
    });
    builder.registerTypeAdapter(java.util.Date.class, new DateAdapter());
    builder.registerTypeAdapter(java.sql.Date.class, new SqlDateAdapter());
    builder.registerTypeAdapter(java.sql.Time.class, new SqlTimeAdapter());
    builder.registerTypeAdapter(java.sql.Timestamp.class, new SqlDateTimeAdapter());
    return builder;
}

From source file:com.appslandia.common.json.Jdk8GsonUtils.java

License:Open Source License

public static GsonBuilder register(GsonBuilder builder) {
    builder.registerTypeAdapter(LocalDate.class, new LocalDateAdapter());
    builder.registerTypeAdapter(LocalTime.class, new LocalTimeAdapter());
    builder.registerTypeAdapter(LocalDateTime.class, new LocalDateTimeAdapter());

    builder.registerTypeAdapter(OffsetDateTime.class, new OffsetDateTimeAdapter());
    builder.registerTypeAdapter(OffsetTime.class, new OffsetTimeAdapter());
    return builder;
}

From source file:com.arcbees.plugin.idea.wizards.createproject.FetchArchetypes.java

License:Apache License

private GsonBuilder createGsonBuilder() {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
        public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                throws JsonParseException {
            return new Date(json.getAsJsonPrimitive().getAsLong());
        }/*from   w w  w  .  j  ava2s . c  o  m*/
    });
    gsonBuilder.registerTypeAdapter(ArchetypeCollection.class, new JsonDeserializer<ArchetypeCollection>() {
        public ArchetypeCollection deserialize(JsonElement json, Type typeOft,
                JsonDeserializationContext context) throws JsonParseException {
            JsonObject parentJson = json.getAsJsonObject();

            GsonBuilder gsonBuilder = new GsonBuilder();
            gsonBuilder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
                public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                        throws JsonParseException {
                    return new Date(json.getAsJsonPrimitive().getAsLong());
                }
            });
            Gson gson = gsonBuilder.create();

            ArchetypeCollection parent = gson.fromJson(json, ArchetypeCollection.class);
            List<Archetype> archetypes = null;

            if (parentJson.get("items").isJsonArray()) {
                JsonElement itemsJson = parentJson.get("items");
                archetypes = gson.fromJson(itemsJson, new TypeToken<List<Archetype>>() {
                }.getType());
            } else {
                Archetype single = gson.fromJson(parentJson.get("items"), Archetype.class);
                archetypes = new ArrayList<Archetype>();
                archetypes.add(single);
            }
            parent.setArchetypes(archetypes);
            return parent;
        }
    });
    return gsonBuilder;
}

From source file:com.atlauncher.workers.InstanceInstaller.java

License:Open Source License

public InstanceInstaller(String instanceName, Pack pack, PackVersion version, boolean isReinstall,
        boolean isServer) {
    this.instanceName = instanceName;
    this.pack = pack;
    this.version = version;
    this.isReinstall = isReinstall;
    this.isServer = isServer;
    if (isServer) {
        serverLibraries = new ArrayList<File>();
    }/*from w w  w  .j a  v  a  2s .com*/
    GsonBuilder builder = new GsonBuilder();
    builder.registerTypeAdapterFactory(new EnumTypeAdapterFactory());
    builder.registerTypeAdapter(Date.class, new DateTypeAdapter());
    builder.registerTypeAdapter(File.class, new FileTypeAdapter());
    builder.setPrettyPrinting();
    this.gson = builder.create();
}

From source file:com.autoclavestudios.jbower.config.internal.DefaultConfigurationManager.java

License:Apache License

DefaultConfigurationManager() {
    GsonBuilder builder = new GsonBuilder().setPrettyPrinting();
    builder.registerTypeAdapter(Registry.class, new JsonRegistryTranslator());
    gson = builder.create();/*from  w w w.  j  a  v a  2  s  . c o m*/
}

From source file:com.azure.webapi.MobileServiceClient.java

License:Open Source License

/**
 * Creates a GsonBuilder with custom serializers to use with Windows Azure
 * Mobile Services//  w ww .  j  ava  2 s . c o  m
 * 
 * @return
 */
public static GsonBuilder createMobileServiceGsonBuilder() {
    GsonBuilder gsonBuilder = new GsonBuilder();

    // Register custom date serializer/deserializer
    gsonBuilder.registerTypeAdapter(Date.class, new DateSerializer());
    LongSerializer longSerializer = new LongSerializer();
    gsonBuilder.registerTypeAdapter(Long.class, longSerializer);
    gsonBuilder.registerTypeAdapter(long.class, longSerializer);

    return gsonBuilder;
}

From source file:com.b12kab.tmdblibrary.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.
 *//* ww w.  j  a  v  a2  s  . co  m*/
public static GsonBuilder getGsonBuilder() {
    GsonBuilder builder = new GsonBuilder();

    // class types
    builder.registerTypeAdapter(AccountState.class, new AccountStateDeserializer());
    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;
}

From source file:com.beanstream.api.ReportingAPI.java

License:Open Source License

private GsonBuilder getGsonBuilder() {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.setDateFormat(DATE_FORMAT_STRING); //2014-10-16T15:22:17.815-07:00
    gsonBuilder.registerTypeAdapter(Criteria.class, new CriteriaSerializer());
    return gsonBuilder;
}

From source file:com.belaytech.device.DO.DeviceJsonObject.java

License:Open Source License

public String toJson() {
    GsonBuilder gb = new GsonBuilder();
    gb.registerTypeAdapter(Status.class, new Status.Serializer());
    gb.registerTypeAdapter(Result.class, new Result.Serializer());
    Gson gson = gb.create();//from w ww .  j a  v a 2s  .  co m

    return gson.toJson(this);
}