Example usage for com.google.gson GsonBuilder registerTypeAdapterFactory

List of usage examples for com.google.gson GsonBuilder registerTypeAdapterFactory

Introduction

In this page you can find the example usage for com.google.gson GsonBuilder registerTypeAdapterFactory.

Prototype

public GsonBuilder registerTypeAdapterFactory(TypeAdapterFactory factory) 

Source Link

Document

Register a factory for type adapters.

Usage

From source file:cc.kave.commons.utils.json.legacy.GsonUtil.java

License:Open Source License

public static void addTypeAdapters(final GsonBuilder builder) {
    builder.registerTypeAdapter(CoReMethodName.class, new GsonNameSerializer());
    builder.registerTypeAdapter(ICoReMethodName.class, new GsonNameSerializer());
    builder.registerTypeAdapter(CoReMethodName.class, new GsonMethodNameDeserializer());
    builder.registerTypeAdapter(ICoReMethodName.class, new GsonMethodNameDeserializer());
    builder.registerTypeAdapter(CoReTypeName.class, new GsonNameSerializer());
    builder.registerTypeAdapter(ICoReTypeName.class, new GsonNameSerializer());
    builder.registerTypeAdapter(CoReTypeName.class, new GsonTypeNameDeserializer());
    builder.registerTypeAdapter(ICoReTypeName.class, new GsonTypeNameDeserializer());
    builder.registerTypeAdapter(CoReFieldName.class, new GsonNameSerializer());
    builder.registerTypeAdapter(ICoReFieldName.class, new GsonNameSerializer());
    builder.registerTypeAdapter(CoReFieldName.class, new GsonFieldNameDeserializer());
    builder.registerTypeAdapter(ICoReFieldName.class, new GsonFieldNameDeserializer());
    ////from   w  w w  .j ava  2  s .  c  o  m
    builder.registerTypeAdapter(File.class, new GsonFileDeserializer());
    builder.registerTypeAdapter(File.class, new GsonFileSerializer());
    // builder.setPrettyPrinting();
    // builder.setDateFormat("dd.MM.yyyy HH:mm:ss");
    builder.registerTypeAdapter(Date.class, new ISO8601DateParser());

    builder.registerTypeAdapter(Multimap.class, new MultimapTypeAdapter());
    //
    builder.registerTypeAdapter(Usage.class, new UsageTypeAdapter());
    builder.registerTypeAdapter(Query.class, new UsageTypeAdapter());
    builder.registerTypeAdapter(NoUsage.class, new UsageTypeAdapter());

    RuntimeTypeAdapterFactory<UsageFeature> rtaf = RuntimeTypeAdapterFactory.of(UsageFeature.class, "$type")
            .registerSubtype(CallFeature.class).registerSubtype(ClassFeature.class)
            .registerSubtype(DefinitionFeature.class).registerSubtype(FirstMethodFeature.class)
            .registerSubtype(ParameterFeature.class).registerSubtype(SuperMethodFeature.class)
            .registerSubtype(TypeFeature.class);
    builder.registerTypeAdapterFactory(rtaf);

    builder.registerTypeAdapter(CallFeature.class, new ObjectUsageFeatureRedirector<CallFeature>());
    builder.registerTypeAdapter(ClassFeature.class, new ObjectUsageFeatureRedirector<ClassFeature>());
    builder.registerTypeAdapter(DefinitionFeature.class, new ObjectUsageFeatureRedirector<DefinitionFeature>());
    builder.registerTypeAdapter(FirstMethodFeature.class,
            new ObjectUsageFeatureRedirector<FirstMethodFeature>());
    builder.registerTypeAdapter(ParameterFeature.class, new ObjectUsageFeatureRedirector<ParameterFeature>());
    builder.registerTypeAdapter(SuperMethodFeature.class,
            new ObjectUsageFeatureRedirector<SuperMethodFeature>());
    builder.registerTypeAdapter(TypeFeature.class, new ObjectUsageFeatureRedirector<TypeFeature>());
}

From source file:cc.recommenders.utils.gson.GsonUtil.java

License:Open Source License

public static synchronized Gson getInstance() {
    if (gson == null) {
        final GsonBuilder builder = new GsonBuilder();
        builder.registerTypeAdapter(VmMethodName.class, new GsonNameSerializer());
        builder.registerTypeAdapter(IMethodName.class, new GsonNameSerializer());
        builder.registerTypeAdapter(VmMethodName.class, new GsonMethodNameDeserializer());
        builder.registerTypeAdapter(IMethodName.class, new GsonMethodNameDeserializer());
        builder.registerTypeAdapter(VmTypeName.class, new GsonNameSerializer());
        builder.registerTypeAdapter(ITypeName.class, new GsonNameSerializer());
        builder.registerTypeAdapter(VmTypeName.class, new GsonTypeNameDeserializer());
        builder.registerTypeAdapter(ITypeName.class, new GsonTypeNameDeserializer());
        builder.registerTypeAdapter(VmFieldName.class, new GsonNameSerializer());
        builder.registerTypeAdapter(IFieldName.class, new GsonNameSerializer());
        builder.registerTypeAdapter(VmFieldName.class, new GsonFieldNameDeserializer());
        builder.registerTypeAdapter(IFieldName.class, new GsonFieldNameDeserializer());
        ///*from   w  ww .  j ava 2 s .c om*/
        builder.registerTypeAdapter(File.class, new GsonFileDeserializer());
        builder.registerTypeAdapter(File.class, new GsonFileSerializer());
        // builder.setPrettyPrinting();
        // builder.setDateFormat("dd.MM.yyyy HH:mm:ss");
        builder.registerTypeAdapter(Date.class, new ISO8601DateParser());
        builder.registerTypeAdapter(Multimap.class, new MultimapTypeAdapter());
        //
        builder.registerTypeAdapter(Usage.class, new UsageTypeAdapter());
        builder.registerTypeAdapter(Query.class, new UsageTypeAdapter());

        RuntimeTypeAdapterFactory<UsageFeature> rtaf = RuntimeTypeAdapterFactory.of(UsageFeature.class, "$type")
                .registerSubtype(CallFeature.class).registerSubtype(ClassFeature.class)
                .registerSubtype(DefinitionFeature.class).registerSubtype(FirstMethodFeature.class)
                .registerSubtype(ParameterFeature.class).registerSubtype(SuperMethodFeature.class)
                .registerSubtype(TypeFeature.class);
        builder.registerTypeAdapterFactory(rtaf);

        builder.registerTypeAdapter(CallFeature.class, new ObjectUsageFeatureRedirector<CallFeature>());
        builder.registerTypeAdapter(ClassFeature.class, new ObjectUsageFeatureRedirector<ClassFeature>());
        builder.registerTypeAdapter(DefinitionFeature.class,
                new ObjectUsageFeatureRedirector<DefinitionFeature>());
        builder.registerTypeAdapter(FirstMethodFeature.class,
                new ObjectUsageFeatureRedirector<FirstMethodFeature>());
        builder.registerTypeAdapter(ParameterFeature.class,
                new ObjectUsageFeatureRedirector<ParameterFeature>());
        builder.registerTypeAdapter(SuperMethodFeature.class,
                new ObjectUsageFeatureRedirector<SuperMethodFeature>());
        builder.registerTypeAdapter(TypeFeature.class, new ObjectUsageFeatureRedirector<TypeFeature>());

        builder.enableComplexMapKeySerialization();
        gson = builder.create();
    }
    return gson;
}

From source file:ch.vorburger.worlds.persistence.gson.GraphAdapterBuilder.java

License:Apache License

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

From source file:co.cask.cdap.common.stream.StreamEventTypeAdapter.java

License:Apache License

/**
 * Register an instance of the {@link StreamEventTypeAdapter} to the given {@link GsonBuilder}.
 * @param gsonBuilder The build to register to
 * @return The same {@link GsonBuilder} instance in the argument
 *//*ww w.  j a  va 2s  .c om*/
public static GsonBuilder register(GsonBuilder gsonBuilder) {
    return gsonBuilder.registerTypeAdapterFactory(new TypeAdapterFactory() {
        @Override
        @SuppressWarnings("unchecked")
        public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
            if (StreamEvent.class.isAssignableFrom(type.getRawType())) {
                return (TypeAdapter<T>) new StreamEventTypeAdapter(gson.getAdapter(HEADERS_TYPE));
            }
            return null;
        }
    });
}

From source file:com.aelitis.azureus.util.JSONUtilsGSON.java

License:Open Source License

private static Gson getGson() {
    if (gson == null) {
        GsonBuilder builder = new GsonBuilder();
        builder.registerTypeAdapterFactory(ObjectTypeAdapterLong.FACTORY);
        gson = builder.create();/*  ww  w  .j a  v  a  2s . co  m*/
    }
    return gson;
}

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 va  2s  . c  o  m*/
    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.auction.request.handler.AuthHandler.java

@ClientRequest(action = ACTION.SAVE_ACCOUNT_SETTING_FA)
public ClientResponse saveAccountSettingFA(ISession session, IPacket packet) throws Exception {
    GeneralResponse response = new GeneralResponse();
    try {//from  w w w.ja v a  2s  . com
        Gson gson = new Gson();
        AccountSettingFA accountSettingFA = gson.fromJson(packet.getPacketBody(), AccountSettingFA.class);
        FeaturedAdManager featuredAdManager = new FeaturedAdManager();
        if (accountSettingFA.getId() > 0) {
            featuredAdManager.updateFeaturedAdAccountSetting(accountSettingFA);
        } else {
            int userId = (int) session.getUserId();
            if (userId > 0) {
                User user = new User();
                user.setId(userId);
                accountSettingFA.setUser(user);
                accountSettingFA = featuredAdManager.addFeaturedAdAccountSetting(accountSettingFA);
            } else {
                response.setSuccess(false);
                return response;
            }
        }
        GsonBuilder gsonBuilder = new GsonBuilder();
        gsonBuilder.registerTypeAdapterFactory(HibernateProxyTypeAdapter.FACTORY);
        gson = gsonBuilder.create();
        String accountSettingFAString = gson.toJson(accountSettingFA);
        AccountSettingFA response1 = new Gson().fromJson(accountSettingFAString, AccountSettingFA.class);
        response1.setSuccess(true);
        return response1;
        //response.setSuccess(true);
        //return response;
    } catch (Exception ex) {
        response.setSuccess(false);
        return response;
    }
}

From source file:com.auction.request.handler.AuthHandler.java

@ClientRequest(action = ACTION.ADD_MESSAGE_TEXT)
public ClientResponse addMessageText(ISession session, IPacket packet) throws Exception {
    GeneralResponse response = new GeneralResponse();
    Gson gson = new Gson();
    Message message = gson.fromJson(packet.getPacketBody(), Message.class);
    int userId = (int) session.getUserId();
    User user = new User();
    if (userId > 0) {
        if (message.getMessageTextList() != null && !message.getMessageTextList().isEmpty()) {
            user.setId(userId);/*ww w  .j  av  a 2  s.  com*/
            message.getMessageTextList().get(0).setUser(user);
            MessageManager messageManager = new MessageManager();
            messageManager.addMessageText(message);

            GsonBuilder gsonBuilder = new GsonBuilder();
            gsonBuilder.registerTypeAdapterFactory(HibernateProxyTypeAdapter.FACTORY);
            gson = gsonBuilder.create();
            String messageInfoString = gson.toJson(messageManager.getMessageInfo(message.getId()));
            Message response1 = gson.fromJson(messageInfoString, Message.class);
            response1.setMessage("Message Text is added successfully");
            response1.setSuccess(true);
            return response1;
        } else {
            response.setMessage("Please add message text.");
            response.setSuccess(false);
            return response;
        }
    } else {
        response.setMessage("Invalid user. Please login.");
        response.setSuccess(false);
        return response;
    }
}

From source file:com.auction.request.handler.RequestHandler.java

@ClientRequest(action = ACTION.FETCH_MEMBER_ROLES)
public ClientResponse getMemberRoleList(ISession session, IPacket packet) {
    UserManager userManager = new UserManager();
    List<Role> roles = userManager.getMemberRoles();
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapterFactory(HibernateProxyTypeAdapter.FACTORY);
    Gson gson = gsonBuilder.create();/*from ww w . j  a v a 2  s  . c o m*/
    String rolesString = gson.toJson(roles);
    RoleList response = gson.fromJson("{\"roles\":" + rolesString + "}", RoleList.class);
    response.setSuccess(true);
    return response;
}

From source file:com.auction.request.handler.RequestHandler.java

@ClientRequest(action = ACTION.FETCH_USER_LIST)
public ClientResponse getUserList(ISession session, IPacket packet) {
    UserManager userManager = new UserManager();
    List<User> users = userManager.getUsers(0, 10);
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapterFactory(HibernateProxyTypeAdapter.FACTORY);
    Gson gson = gsonBuilder.create();/*  w  w  w.j a v a 2 s  .c o  m*/
    String userString = gson.toJson(users);
    UserList response = gson.fromJson("{\"users\":" + userString + "}", UserList.class);
    response.setSuccess(true);
    return response;
}