本文整理匯總了Java中com.google.gson.annotations.JsonAdapter.value方法的典型用法代碼示例。如果您正苦於以下問題:Java JsonAdapter.value方法的具體用法?Java JsonAdapter.value怎麽用?Java JsonAdapter.value使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.google.gson.annotations.JsonAdapter
的用法示例。
在下文中一共展示了JsonAdapter.value方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: getTypeAdapter
import com.google.gson.annotations.JsonAdapter; //導入方法依賴的package包/類
@SuppressWarnings("unchecked") // Casts guarded by conditionals.
static TypeAdapter<?> getTypeAdapter(ConstructorConstructor constructorConstructor, Gson gson,
TypeToken<?> fieldType, JsonAdapter annotation) {
Class<?> value = annotation.value();
if (TypeAdapter.class.isAssignableFrom(value)) {
Class<TypeAdapter<?>> typeAdapter = (Class<TypeAdapter<?>>) value;
return constructorConstructor.get(TypeToken.get(typeAdapter)).construct();
}
if (TypeAdapterFactory.class.isAssignableFrom(value)) {
Class<TypeAdapterFactory> typeAdapterFactory = (Class<TypeAdapterFactory>) value;
return constructorConstructor.get(TypeToken.get(typeAdapterFactory))
.construct()
.create(gson, fieldType);
}
throw new IllegalArgumentException(
"@JsonAdapter value must be TypeAdapter or TypeAdapterFactory reference.");
}
示例2: getTypeAdapter
import com.google.gson.annotations.JsonAdapter; //導入方法依賴的package包/類
@SuppressWarnings("unchecked") // Casts guarded by conditionals.
static TypeAdapter<?> getTypeAdapter(ConstructorConstructor constructorConstructor, Gson gson,
TypeToken<?> fieldType, JsonAdapter annotation) {
Class<?> value = annotation.value();
TypeAdapter<?> typeAdapter;
if (TypeAdapter.class.isAssignableFrom(value)) {
Class<TypeAdapter<?>> typeAdapterClass = (Class<TypeAdapter<?>>) value;
typeAdapter = constructorConstructor.get(TypeToken.get(typeAdapterClass)).construct();
} else if (TypeAdapterFactory.class.isAssignableFrom(value)) {
Class<TypeAdapterFactory> typeAdapterFactory = (Class<TypeAdapterFactory>) value;
typeAdapter = constructorConstructor.get(TypeToken.get(typeAdapterFactory))
.construct()
.create(gson, fieldType);
} else {
throw new IllegalArgumentException(
"@JsonAdapter value must be TypeAdapter or TypeAdapterFactory reference.");
}
if (typeAdapter != null) {
typeAdapter = typeAdapter.nullSafe();
}
return typeAdapter;
}
示例3: getTypeAdapter
import com.google.gson.annotations.JsonAdapter; //導入方法依賴的package包/類
static TypeAdapter<?> getTypeAdapter(ConstructorConstructor constructorConstructor, Gson
gson, TypeToken<?> fieldType, JsonAdapter annotation) {
Class<?> value = annotation.value();
if (TypeAdapter.class.isAssignableFrom(value)) {
return (TypeAdapter) constructorConstructor.get(TypeToken.get((Class) value))
.construct();
}
if (TypeAdapterFactory.class.isAssignableFrom(value)) {
return ((TypeAdapterFactory) constructorConstructor.get(TypeToken.get((Class) value))
.construct()).create(gson, fieldType);
}
throw new IllegalArgumentException("@JsonAdapter value must be TypeAdapter or " +
"TypeAdapterFactory reference.");
}