List of usage examples for com.google.gson.reflect TypeToken getType
public final Type getType()
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; }