项目:XXXX
文件:GsonCodecTest.java
@Test
public void customDecoder() throws Exception {
GsonDecoder decoder = new GsonDecoder(Arrays.<TypeAdapter<?>>asList(upperZone));
List<Zone> zones = new LinkedList<Zone>();
zones.add(new Zone("DENOMINATOR.IO."));
zones.add(new Zone("DENOMINATOR.IO.","ABCD"));
Response response =
Response.builder()
.status(200)
.reason("OK")
.headers(Collections.<String,Collection<String>>emptyMap())
.body(zonesJson,UTF_8)
.build();
assertEquals(zones,decoder.decode(response,new TypeToken<List<Zone>>() {
}.getType()));
}
项目:GitHub
文件:Support.java
@SuppressWarnings("unchecked")
public static <T extends Comparable<? super T>> Range<Comparable<Object>> writable(TypeAdapter<T> adapter,Range<T> range) {
if (range.hasLowerBound() && range.hasUpperBound()) {
return Range.range(
(Comparable<Object>) writable(adapter,range.lowerEndpoint()),range.lowerBoundType(),(Comparable<Object>) writable(adapter,range.upperEndpoint()),range.upperBoundType());
} else if (range.hasLowerBound()) {
return Range.downTo(
(Comparable<Object>) writable(adapter,range.lowerBoundType());
} else if (range.hasUpperBound()) {
return Range.upTo(
(Comparable<Object>) writable(adapter,range.upperBoundType());
}
throw new AssertionError();
}
项目:odoo-work
文件:TypeAdapters.java
@SuppressWarnings("unchecked") // we use a runtime check to make sure the 'T's equal
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> typeToken) {
if (typeToken.getRawType() != Timestamp.class) {
return null;
}
final TypeAdapter<Date> dateTypeAdapter = gson.getAdapter(Date.class);
return (TypeAdapter<T>) new TypeAdapter<Timestamp>() {
@Override public Timestamp read(JsonReader in) throws IOException {
Date date = dateTypeAdapter.read(in);
return date != null ? new Timestamp(date.getTime()) : null;
}
@Override public void write(JsonWriter out,Timestamp value) throws IOException {
dateTypeAdapter.write(out,value);
}
};
}
项目:odoo-work
文件:JsonAdapterAnnotationTypeAdapterFactory.java
@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.");
}
项目:MCLibrary
文件:BukkitTypeAdapterFactory.java
@Override
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> type) {
Class<?> rawType = type.getRawType();
TypeAdapter<Map> mapAdapter = gson.getAdapter(Map.class);
TypeAdapter<Collection> collectionAdapter = gson.getAdapter(Collection.class);
if (Location.class.isAssignableFrom(rawType)) {
return (TypeAdapter<T>) new LocationTypeAdapter();
} else if (ConfigurationSerializable.class.isAssignableFrom(rawType)) {
return (TypeAdapter<T>) new ConfigurationSerializableAdapter(mapAdapter);
} else if (GUISignature.class.isAssignableFrom(rawType)) {
return (TypeAdapter<T>) new GUISignatureTypeAdapter(mapAdapter,collectionAdapter);
} else if (MaterialAndData.class.isAssignableFrom(rawType)) {
return (TypeAdapter<T>) new MaterialAndDataAdapter();
}
return null;
}
项目:elastic-job-cloud
文件:GsonFactoryTest.java
@Test
public void assertRegisterTypeAdapter() {
Gson beforeRegisterGson = GsonFactory.getGson();
GsonFactory.registerTypeAdapter(GsonFactoryTest.class,new TypeAdapter() {
@Override
public Object read(final JsonReader in) throws IOException {
return null;
}
@Override
public void write(final JsonWriter out,final Object value) throws IOException {
out.jsonValue("test");
}
});
assertThat(beforeRegisterGson.toJson(new GsonFactoryTest()),is("{}"));
assertThat(GsonFactory.getGson().toJson(new GsonFactoryTest()),is("test"));
}
项目:lams
文件:ObjectTypeAdapter.java
@SuppressWarnings("unchecked")
@Override public void write(JsonWriter out,Object value) throws IOException {
if (value == null) {
out.nullValue();
return;
}
TypeAdapter<Object> typeAdapter = (TypeAdapter<Object>) gson.getAdapter(value.getClass());
if (typeAdapter instanceof ObjectTypeAdapter) {
out.beginObject();
out.endObject();
return;
}
typeAdapter.write(out,value);
}
项目:MCBot
文件:CommandTrick.java
@Override
public void gatherParsers(GsonBuilder builder) {
builder.registerTypeHierarchyAdapter(TrickType.class,new TypeAdapter<TrickType>() {
@Override
public TrickType read(JsonReader in) throws IOException {
TrickType type = TrickType.byId.get(in.nextString());
if (type == null) {
return TrickType.STRING;
}
return type;
}
@Override
public void write(JsonWriter out,TrickType value) throws IOException {
out.value(value.getId());
}
});
}
项目:lams
文件:TypeAdapters.java
public static <TT> TypeAdapterFactory newFactory(
final Class<TT> unboxed,final Class<TT> boxed,final TypeAdapter<? super TT> typeAdapter) {
return new TypeAdapterFactory() {
@SuppressWarnings("unchecked") // we use a runtime check to make sure the 'T's equal
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> typeToken) {
Class<? super T> rawType = typeToken.getRawType();
return (rawType == unboxed || rawType == boxed) ? (TypeAdapter<T>) typeAdapter : null;
}
@Override public String toString() {
return "Factory[type=" + boxed.getName()
+ "+" + unboxed.getName() + ",adapter=" + typeAdapter + "]";
}
};
}
项目:boohee_v5.6
文件:ReflectiveTypeAdapterFactory.java
private TypeAdapter<?> getFieldAdapter(Gson gson,Field field,TypeToken<?> fieldType) {
JsonAdapter annotation = (JsonAdapter) field.getAnnotation(JsonAdapter.class);
if (annotation != null) {
TypeAdapter<?> adapter = JsonAdapterAnnotationTypeAdapterFactory.getTypeAdapter(this
.constructorConstructor,gson,fieldType,annotation);
if (adapter != null) {
return adapter;
}
}
return gson.getAdapter((TypeToken) fieldType);
}
项目:MCLibrary
文件:NumberPredictObjectTypeAdapterFactory.java
@Override
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> type) {
if (type.getRawType() == Object.class) {
return (TypeAdapter<T>) new NumberPredictObjectTypeAdapter(gson);
}
return null;
}
项目:boohee_v5.6
文件:CollectionTypeAdapterFactory.java
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> typeToken) {
Type type = typeToken.getType();
Class<? super T> rawType = typeToken.getRawType();
if (!Collection.class.isAssignableFrom(rawType)) {
return null;
}
Type elementType = C$Gson$Types.getCollectionElementType(type,rawType);
return new Adapter(gson,elementType,gson.getAdapter(TypeToken.get(elementType)),this
.constructorConstructor.get(typeToken));
}
项目:odoo-work
文件:TypeAdapters.java
public static <TT> TypeAdapterFactory newFactoryForMultipleTypes(final Class<TT> base,final Class<? extends TT> sub,TypeToken<T> typeToken) {
Class<? super T> rawType = typeToken.getRawType();
return (rawType == base || rawType == sub) ? (TypeAdapter<T>) typeAdapter : null;
}
@Override public String toString() {
return "Factory[type=" + base.getName()
+ "+" + sub.getName() + ",adapter=" + typeAdapter + "]";
}
};
}
项目:sierra
文件:Json.java
private <T> TypeAdapter<T> mutationSetAdapter(TypeAdapter<T> delegate) {
return new TypeAdapter<T>() {
public void write(JsonWriter out,T value) throws IOException {
delegate.write(out,value);
}
@SuppressWarnings("unchecked")
public T read(JsonReader reader) throws IOException {
final TypeAdapter<ArrayList<Mutation>> arrayListAdapter =
gson.getAdapter(new TypeToken<ArrayList<Mutation>>(){});
return (T) new MutationSet(arrayListAdapter.read(reader));
}
};
}
项目:GitHub
文件:ExpectedSubtypesAdapter.java
private List<TypeAdapter<? extends T>> lookupAdapters() {
List<TypeAdapter<? extends T>> adapters = new ArrayList<>(subtypes.length);
for (TypeToken<? extends T> subtype : subtypes) {
adapters.add(gson.getAdapter(subtype));
}
return adapters;
}
项目:datarouter
文件:OptionalContainerClassTypeAdapterFactory.java
@Override
@SuppressWarnings("unchecked")
public final <T> TypeAdapter<T> create(Gson gson,TypeToken<T> type){
Class<T> rawType = (Class<T>)type.getRawType();
boolean hasOptionals = Arrays.stream(rawType.getDeclaredFields())
.filter(field -> !Modifier.isStatic(field.getModifiers()))
.anyMatch(field -> field.getType() == Optional.class);
return hasOptionals ? (TypeAdapter<T>)getClassAdapter(gson,type) : null;
}
项目:odoo-work
文件:ReflectiveTypeAdapterFactory.java
private TypeAdapter<?> getFieldAdapter(Gson gson,TypeToken<?> fieldType) {
JsonAdapter annotation = field.getAnnotation(JsonAdapter.class);
if (annotation != null) {
TypeAdapter<?> adapter = getTypeAdapter(constructorConstructor,annotation);
if (adapter != null) return adapter;
}
return gson.getAdapter(fieldType);
}
项目:odoo-work
文件:CollectionTypeAdapterFactory.java
public Adapter(Gson context,Type elementType,TypeAdapter<E> elementTypeAdapter,ObjectConstructor<? extends Collection<E>> constructor) {
this.elementTypeAdapter =
new TypeAdapterRuntimeTypeWrapper<E>(context,elementTypeAdapter,elementType);
this.constructor = constructor;
}
项目:boohee_v5.6
文件:MapTypeAdapterFactory.java
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> typeToken) {
Type type = typeToken.getType();
if (!Map.class.isAssignableFrom(typeToken.getRawType())) {
return null;
}
Type[] keyAndValueTypes = C$Gson$Types.getMapKeyAndValueTypes(type,C$Gson$Types
.getRawType(type));
return new Adapter(gson,keyAndValueTypes[0],getKeyAdapter(gson,keyAndValueTypes[0]),keyAndValueTypes[1],gson.getAdapter(TypeToken.get(keyAndValueTypes[1])),this
.constructorConstructor.get(typeToken));
}
项目:helper
文件:GsonSerializableAdapterFactory.java
@Override
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> type) {
Class<? super T> clazz = type.getRawType();
// also checks if the class can be casted to GsonSerializable
Method deserializeMethod = GsonSerializable.getDeserializeMethod(clazz);
if (deserializeMethod == null) {
return null;
}
TypeAdapter<? extends GsonSerializable> typeAdapter = new TypeAdapter<GsonSerializable>() {
@Override
public void write(JsonWriter out,GsonSerializable value) {
gson.toJson(value.serialize(),out);
}
@Override
public GsonSerializable read(JsonReader in) throws IOException {
JsonElement element = gson.fromJson(in,JsonElement.class);
try {
//noinspection unchecked
return (GsonSerializable) deserializeMethod.invoke(null,element);
} catch (Exception e) {
throw new IOException(e);
}
}
};
//noinspection unchecked
return (TypeAdapter<T>) typeAdapter;
}
项目:helper
文件:BukkitSerializableAdapterFactory.java
@Override
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> type) {
Class<? super T> clazz = type.getRawType();
if (!ConfigurationSerializable.class.isAssignableFrom(clazz)) {
return null;
}
//noinspection unchecked
return (TypeAdapter<T>) new Adapter(gson);
}
项目:sierra
文件:Json.java
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> type) {
final TypeAdapter<T> delegate = gson.getDelegateAdapter(this,type);
Type classType = type.getType();
if (classType == MutationSet.class) {
return mutationSetAdapter(delegate);
}
else if (classType == GenePosition.class) {
return genePositionAdapter(delegate);
}
return delegate;
}
项目:lams
文件:TypeAdapters.java
public static <TT> TypeAdapterFactory newTypeHierarchyFactory(
final Class<TT> clazz,final TypeAdapter<TT> typeAdapter) {
return new TypeAdapterFactory() {
@SuppressWarnings("unchecked")
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> typeToken) {
return clazz.isAssignableFrom(typeToken.getRawType()) ? (TypeAdapter<T>) typeAdapter : null;
}
@Override public String toString() {
return "Factory[typeHierarchy=" + clazz.getName() + ",adapter=" + typeAdapter + "]";
}
};
}
项目:letv
文件:MapTypeAdapterFactory.java
private static <T> JsonElement toJsonTree(TypeAdapter<T> typeAdapter,T value) {
try {
JsonTreeWriter jsonWriter = new JsonTreeWriter();
jsonWriter.setLenient(true);
typeAdapter.write(jsonWriter,value);
return jsonWriter.get();
} catch (Throwable e) {
throw new JsonIOException(e);
}
}
项目:odoo-work
文件:TypeAdapters.java
public static <TT> TypeAdapterFactory newFactory(
final Class<TT> unboxed,adapter=" + typeAdapter + "]";
}
};
}
项目:dds-examples
文件:UnionTypeAdapterFactory.java
@Override
public void write(
final JsonWriter out,final T value
) throws IOException {
// support null objects
if (value == null) {
out.nullValue();
return;
}
// assert begin of object
out.beginObject();
// get discriminator
Object discriminator = fieldAccess.get(value,DISCRIMINATOR_FIELD_NAME);
// write discriminator
out.name(DISCRIMINATOR_FIELD_NAME);
((TypeAdapter<Object>) discriminatorTypeAdapter).write(out,discriminator);
// get corresponding union field info
UnionMemberInfo unionMemberInfo = memberInfoMap.get(discriminator.toString());
// write field
out.name(unionMemberInfo.fieldName);
((TypeAdapter<Object>) unionMemberInfo.typeAdapter).write(
out,fieldAccess.get(value,unionMemberInfo.fieldName)
);
// assert end of object
out.endObject();
}
项目:dds-examples
文件:EnumTypeAdapterFactory.java
@Override
public <T> TypeAdapter<T> create(
final Gson gson,final TypeToken<T> type
) {
if (!Enum.class.isAssignableFrom(type.getRawType())) {
return null;
}
return (TypeAdapter<T>) new EnumTypeAdapter(type.getRawType());
}
项目:storm-dynamic-spout
文件:FilterChainStepTypeAdapterFactory.java
@SuppressWarnings("unchecked")
@Override
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> type) {
if (!FilterChainStep.class.isAssignableFrom(type.getRawType())) {
return null;
}
return (TypeAdapter<T>) new FilterChainStepTypeAdapter();
}
项目:Closet
文件:GsonHelper.java
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> type) {
Class<T> rawType = (Class<T>) type.getRawType();
if (rawType != String.class) {
return null;
}
return (TypeAdapter<T>) new StringAdapter();
}
项目:letv
文件:CollectionTypeAdapterFactory.java
public <T> TypeAdapter<T> create(Gson gson,this.constructorConstructor.getConstructor(typeToken));
}
项目:lams
文件:MapTypeAdapterFactory.java
public Adapter(Gson context,Type keyType,TypeAdapter<K> keyTypeAdapter,Type valueType,TypeAdapter<V> valueTypeAdapter,ObjectConstructor<? extends Map<K,V>> constructor) {
this.keyTypeAdapter =
new TypeAdapterRuntimeTypeWrapper<K>(context,keyTypeAdapter,keyType);
this.valueTypeAdapter =
new TypeAdapterRuntimeTypeWrapper<V>(context,valueTypeAdapter,valueType);
this.constructor = constructor;
}
项目:SuperHttp
文件:GsonConverterFactory.java
@Override
public Converter<ResponseBody,?> responseBodyConverter(Type type,Annotation[] annotations,Retrofit retrofit) {
if (type != null && type.equals(String.class)) {
return new JsonResponseBodyConverter<>();
}
TypeAdapter<?> adapter = null;
if (type != null) {
adapter = gson.getAdapter(TypeToken.get(type));
}
return new GsonResponseBodyConverter<>(gson,adapter);
}
项目:DereHelper
文件:ApiTypeAdapterFactory.java
@Override
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> type) {
final TypeAdapter<T> delegate = gson.getDelegateAdapter(this,type);
final TypeAdapter<JsonElement> elementTypeAdapter = gson.getAdapter(JsonElement.class);
return new TypeAdapter<T>() {
@Override
public void write(JsonWriter out,T value) throws IOException {
delegate.write(out,value);
}
@Override
public T read(JsonReader in) throws IOException {
JsonElement jsonElement = elementTypeAdapter.read(in);
if (jsonElement.isJsonObject()) {
JsonObject jsonObject = jsonElement.getAsJsonObject();
if (jsonObject.has("status")) {
int status = jsonObject.get("status").getAsInt();
String message = jsonObject.get("message").getAsString();
if (status == 0) {
//do nothing
} else {
throw new ApiException(status,message);
}
}
if (jsonObject.has(dataElementName)) {
jsonElement = jsonObject.get(dataElementName);
}
}
return delegate.fromJsonTree(jsonElement);
}
}.nullSafe();
}
项目:dsp4e
文件:DebugMessageTypeAdapterFactory.java
@Override
@SuppressWarnings("unchecked")
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> typeToken) {
if (!Message.class.isAssignableFrom(typeToken.getRawType()))
return null;
return (TypeAdapter<T>) new Adapter(handler,gson);
}
项目:data-mediator
文件:GsonTest.java
private static Gson getGson() {
return new GsonBuilder() //动态注册优先于 @JsonAdapter
.excludeFieldsWithoutExposeAnnotation()
.registerTypeAdapter(IStudent.class,new TypeAdapter<IStudent>() {
@Override
public void write(JsonWriter out,IStudent value) throws IOException {
log("write_getGson");
out.beginObject();
out.name("name").value("heaven7");
out.name("id").value("26");
out.endObject();
}
@Override
public IStudent read(JsonReader in) throws IOException {
log("read_getGson");
StudentModuleImpl module = new StudentModuleImpl();
in.beginObject();
while (in.hasNext()){
switch (in.nextName()){
case "name":
module.setName(in.nextString());
break;
case "id":
module.setAge(in.nextInt());
break;
}
}
in.endObject();
return module;
}
})
.create();
}
项目:bullet-core
文件:FieldTypeAdapterFactory.java
private TypeAdapter<R> getAdapterFor(JsonElement element) {
String field = extractor.apply(element);
for (Map.Entry<Class<?>,Set<String>> entry : types.entrySet()) {
if (entry.getValue().contains(field)) {
return (TypeAdapter<R>) adapters.get(entry.getKey());
}
}
return null;
}
项目:letv
文件:TypeAdapterRuntimeTypeWrapper.java
public void write(JsonWriter out,T value) throws IOException {
TypeAdapter chosen = this.delegate;
Type runtimeType = getRuntimeTypeIfMoreSpecific(this.type,value);
if (runtimeType != this.type) {
TypeAdapter runtimeTypeAdapter = this.context.getAdapter(TypeToken.get(runtimeType));
if (!(runtimeTypeAdapter instanceof Adapter)) {
chosen = runtimeTypeAdapter;
} else if (this.delegate instanceof Adapter) {
chosen = runtimeTypeAdapter;
} else {
chosen = this.delegate;
}
}
chosen.write(out,value);
}
项目:odoo-work
文件:Excluder.java
public <T> TypeAdapter<T> create(final Gson gson,final TypeToken<T> type) {
Class<?> rawType = type.getRawType();
final boolean skipSerialize = excludeClass(rawType,true);
final boolean skipDeserialize = excludeClass(rawType,false);
if (!skipSerialize && !skipDeserialize) {
return null;
}
return new TypeAdapter<T>() {
/** The delegate is lazily created because it may not be needed,and creating it may fail. */
private TypeAdapter<T> delegate;
@Override public T read(JsonReader in) throws IOException {
if (skipDeserialize) {
in.skipValue();
return null;
}
return delegate().read(in);
}
@Override public void write(JsonWriter out,T value) throws IOException {
if (skipSerialize) {
out.nullValue();
return;
}
delegate().write(out,value);
}
private TypeAdapter<T> delegate() {
TypeAdapter<T> d = delegate;
return d != null
? d
: (delegate = gson.getDelegateAdapter(Excluder.this,type));
}
};
}
项目:letv
文件:TypeAdapters.java
public static <TT> TypeAdapterFactory newFactory(final TypeToken<TT> type,final TypeAdapter<TT> typeAdapter) {
return new TypeAdapterFactory() {
public <T> TypeAdapter<T> create(Gson gson,TypeToken<T> typeToken) {
return typeToken.equals(type) ? typeAdapter : null;
}
};
}
项目:XXXX
文件:GsonFactory.java
/**
* Registers type adapters by implicit type. Adds one to read numbers in a {@code Map<String,* Object>} as Integers.
*/
static Gson create(Iterable<TypeAdapter<?>> adapters) {
GsonBuilder builder = new GsonBuilder().setPrettyPrinting();
builder.registerTypeAdapter(new TypeToken<Map<String,Object>>() {
}.getType(),new DoubleToIntMapTypeAdapter());
for (TypeAdapter<?> adapter : adapters) {
Type type = resolveLastTypeParameter(adapter.getClass(),TypeAdapter.class);
builder.registerTypeAdapter(type,adapter);
}
return builder.create();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。