Example usage for com.google.gson.reflect TypeToken getType

List of usage examples for com.google.gson.reflect TypeToken getType

Introduction

In this page you can find the example usage for com.google.gson.reflect TypeToken getType.

Prototype

public final Type getType() 

Source Link

Document

Gets underlying Type instance.

Usage

From source file:teste.adapter.ArrayAdapterFactory.java

@SuppressWarnings({ "unchecked", "rawtypes" })
@Override//  www  . j  a  v  a 2 s .  c  om
public <T> TypeAdapter<T> create(final Gson gson, final TypeToken<T> type) {

    TypeAdapter<T> typeAdapter = null;

    try {
        if (type.getRawType() == List.class)
            typeAdapter = new ArrayAdapter(
                    (Class) ((ParameterizedType) type.getType()).getActualTypeArguments()[0]);
    } catch (Exception e) {
        e.printStackTrace();
    }

    return typeAdapter;

}

From source file:TestGenerator.ArgumentCache.UniversalCollectionTypeAdapterFactory.java

License:Apache License

@Override
public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
    Type type = typeToken.getType();

    /// hack to obtain hidden constructorConstructor from gson - guarantees that gson has already initialized
    // and the original CollectionTypeAdapterFactory has been assigned the same constructorConstructor.
    if (constructorConstructor == null) {
        try {/*from w w w . j  a  va 2s. c o  m*/
            Field conf = gson.getClass().getDeclaredField("constructorConstructor");
            conf.setAccessible(true);
            constructorConstructor = (ConstructorConstructor) conf.get(gson);
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }

    }
    Class<? super T> rawType = typeToken.getRawType();
    if (!Collection.class.isAssignableFrom(rawType)) {
        return null;
    }

    Type elementType = $Gson$Types.getCollectionElementType(type, rawType);
    TypeAdapter<?> elementTypeAdapter = gson.getAdapter(TypeToken.get(elementType));
    ObjectConstructor<T> constructor = constructorConstructor.get(typeToken);

    @SuppressWarnings({ "unchecked", "rawtypes" }) // create() doesn't define a type parameter
    TypeAdapter<T> result = new Adapter(gson, elementType, elementTypeAdapter, constructor);
    return result;
}

From source file:user.UpdateBranchMaster.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*w ww  .  ja  v a 2  s  .  com*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    final DBHelper helper = DBHelper.GetDBHelper();
    final Connection dataConnection = helper.getMainConnection();
    final String detailJson = request.getParameter("branch");
    TypeToken<List<BranchMasterModel1>> token = new TypeToken<List<BranchMasterModel1>>() {
    };
    List<BranchMasterModel1> detail = new Gson().fromJson(detailJson, token.getType());
    final JsonObject jResultObj = new JsonObject();

    if (dataConnection != null) {
        try {
            String sql = "";
            sql = "UPDATE branchmst SET credit_limit=? where branch_cd=?";

            PreparedStatement pstLocal = dataConnection.prepareStatement(sql);

            if (!detail.isEmpty()) {
                for (int i = 0; i < detail.size(); i++) {
                    pstLocal.setDouble(1, detail.get(i).getCredit_limit());
                    pstLocal.setString(2, detail.get(i).getBranch_cd());
                    pstLocal.executeUpdate();
                }
            }
            jResultObj.addProperty("result", 1);
            jResultObj.addProperty("Cause", "success");
        } catch (SQLNonTransientConnectionException ex1) {
            jResultObj.addProperty("result", -1);
            jResultObj.addProperty("Cause", "Server is down");
        } catch (SQLException ex) {
            jResultObj.addProperty("result", -1);
            jResultObj.addProperty("Cause", ex.getMessage());
        }
    }
    response.getWriter().print(jResultObj);
}

From source file:utils.AbJsonUtil.java

License:Apache License

/**
 * //from  ww  w  . j ava2  s.c om
 * ??json.
 * @param json
 * @param typeToken new TypeToken<ArrayList<?>>() {};
 * @return
 */
public static List<?> fromJson(String json, TypeToken typeToken) {
    List<?> list = null;
    try {
        Gson gson = gsonBuilder.create();
        Type type = typeToken.getType();
        list = gson.fromJson(json, type);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return list;
}