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:com.ikanow.infinit.e.data_model.index.IndexManager.java

License:Apache License

@SuppressWarnings("unchecked")
public static <S> S mapFromIndex(String s, TypeToken<S> type, BasePojoIndexMap<S> docMap) {
    GsonBuilder gb = BaseIndexPojo.getDefaultBuilder();
    if (null != docMap) {
        gb = docMap.extendBuilder(gb);//  w  ww .j  a va2  s.  co m
    }
    return (S) gb.create().fromJson(s, type.getType());
}

From source file:com.ikanow.infinit.e.data_model.index.IndexManager.java

License:Apache License

public static <S> JsonElement mapListToIndex(Collection<S> list, TypeToken<? extends Collection<S>> listType,
        BasePojoIndexMap<S> docMap) {
    GsonBuilder gb = BaseIndexPojo.getDefaultBuilder();
    if (null != docMap) {
        gb = docMap.extendBuilder(gb);/*from   w  ww .  ja  v  a 2  s. c  o  m*/
    }
    return gb.create().toJsonTree(list, listType.getType());
}

From source file:com.ikanow.infinit.e.data_model.index.IndexManager.java

License:Apache License

@SuppressWarnings("unchecked")
public static <S, L extends Collection<S>> L mapListFromIndex(String json, TypeToken<? extends L> listType,
        BasePojoIndexMap<S> docMap) {
    GsonBuilder gb = BaseIndexPojo.getDefaultBuilder();
    if (null != docMap) {
        gb = docMap.extendBuilder(gb);/* w  w  w .java2s  .c o  m*/
    }
    return (L) gb.create().fromJson(json, listType.getType());
}

From source file:com.ikanow.infinit.e.data_model.store.BaseDbPojo.java

License:Apache License

@SuppressWarnings("unchecked")
public static <S extends BaseDbPojo> S fromDb(DBObject s, TypeToken<S> type, BasePojoDbMap<S> dynamicMap) {
    if (null == s)
        return null;

    GsonBuilder gb = null;//ww w  . j  a v  a 2  s  .c o m
    try {
        Class<S> clazz = (Class<S>) type.getType();
        gb = ((S) clazz.newInstance()).extendBuilder(BaseDbPojo.getDefaultBuilder());
    } catch (Exception e) {
        return null;
    }
    if (null != dynamicMap) {
        gb = dynamicMap.extendBuilder(gb);
    }
    return (S) gb.create().fromJson(MongoDbUtil.encode(s), type.getType());
}

From source file:com.ikanow.infinit.e.data_model.store.BaseDbPojo.java

License:Apache License

public static <S extends BaseDbPojo> DBObject listToDb(Collection<S> list,
        TypeToken<? extends Collection<S>> listType, BasePojoDbMap<S> dynamicMap) {
    GsonBuilder gb = null;//  ww w  .  ja  va2  s. c  o  m
    try {
        if (!list.isEmpty()) {
            gb = list.iterator().next().extendBuilder(BaseDbPojo.getDefaultBuilder());
        }
    } catch (Exception e) {
        return null;
    }
    return (DBObject) MongoDbUtil
            .encodeArray(gb.create().toJsonTree(list, listType.getType()).getAsJsonArray());
}

From source file:com.ikanow.infinit.e.data_model.store.BaseDbPojo.java

License:Apache License

@SuppressWarnings("unchecked")
public static <S extends BaseDbPojo, L extends Collection<S>> L listFromDb(DBCursor bson,
        TypeToken<? extends L> listType, BasePojoDbMap<S> dynamicMap) {
    GsonBuilder gb = null;//  w  w  w. j  ava  2s.  c  o m
    try {
        Class<S> clazz = (Class<S>) ((ParameterizedType) listType.getType()).getActualTypeArguments()[0];
        // (know this works because of construction of listType)
        gb = (clazz.newInstance()).extendBuilder(BaseDbPojo.getDefaultBuilder());
    } catch (Exception e) {
        return null;
    }
    if (null != dynamicMap) {
        gb = dynamicMap.extendBuilder(gb);
    }
    return (L) gb.create().fromJson(MongoDbUtil.encode(bson), listType.getType());
}

From source file:com.lib.lapp.net.utils.JSONUtils.java

License:Apache License

/**
 *  {@code JSON} ??//  ww  w.j a va2s.  c o  m
 *
 * @param <T>         ??
 * @param json         {@code JSON} 
 * @param token       {@code com.google.gson.reflect.TypeToken} 
 * @param datePattern ??
 * @return  {@code JSON} 
 * @since 1.0
 */
public static <T> T fromJson(String json, TypeToken<T> token, String datePattern) {
    if (TextUtils.isEmpty(json)) {
        return null;
    }
    GsonBuilder builder = new GsonBuilder();
    if (TextUtils.isEmpty(datePattern)) {
        datePattern = DEFAULT_DATE_PATTERN;
    }
    Gson gson = builder.create();
    try {
        return gson.fromJson(json, token.getType());
    } catch (Exception ex) {
        return null;
    }
}

From source file:com.logisticsShop.utils.JsonUtil.java

License:Apache License

/**
 *  {@code JSON} ???/*from   ww  w  . j  a  v a 2  s .  c  om*/
 * 
 * @param <T>
 *            ???
 * @param json
 *            ?{@code JSON} ?
 * @param token
 *            {@code com.google.gson.reflect.TypeToken} ?
 * @param datePattern
 *            ???
 * @return ?{@code JSON} ?
 * @since 1.0
 */
public static <T> T fromJson(String json, TypeToken<T> token, String datePattern) {
    GsonBuilder builder = new GsonBuilder();
    Gson gson = builder.create();
    try {
        return gson.fromJson(json, token.getType());
    } catch (Exception ex) {
        return null;
    }
}

From source file:com.marcohc.architecture.common.helper.ParserHelper.java

License:Apache License

@Nullable
public <T> T parse(Object jsonObject, TypeToken<T> typeToken) {
    T object = null;/* ww w  .j ava 2  s  .c  o  m*/
    try {
        if (jsonObject != null && typeToken != null) {
            // Convert to json string first
            if (!String.class.isInstance(jsonObject)) {
                jsonObject = gson.toJson(jsonObject);
            }
            object = gson.fromJson((String) jsonObject, typeToken.getType());
        }
    } catch (Exception e) {
        Timber.e("parse: %s", e.getMessage());
    }
    return object;
}

From source file:com.owncloud.android.lib.resources.OCSRemoteOperation.java

License:Open Source License

public <T> T getServerResponse(HttpMethodBase method, TypeToken<T> type) throws IOException {
    String response = method.getResponseBodyAsString();
    JsonParser parser = new JsonParser();
    JsonElement element = parser.parse(response);

    Gson gson = new Gson();

    return gson.fromJson(element, type.getType());
}