本文整理汇总了Java中com.fasterxml.jackson.annotation.JsonTypeInfo.As方法的典型用法代码示例。如果您正苦于以下问题:Java JsonTypeInfo.As方法的具体用法?Java JsonTypeInfo.As怎么用?Java JsonTypeInfo.As使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.fasterxml.jackson.annotation.JsonTypeInfo
的用法示例。
在下文中一共展示了JsonTypeInfo.As方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: saveType
import com.fasterxml.jackson.annotation.JsonTypeInfo; //导入方法依赖的package包/类
private void saveType(String path, T object, KeyValueStorage storage) {
Class<?> clazz = object.getClass();
String name = PROP_TYPE;
String value = clazz.getName();
JsonTypeInfo typeInfo = AnnotationUtils.findAnnotation(clazz, JsonTypeInfo.class);
if (typeInfo != null && !clazz.equals(typeInfo.defaultImpl())) {
JsonTypeInfo.As include = typeInfo.include();
if(include != JsonTypeInfo.As.PROPERTY &&
include != JsonTypeInfo.As.EXTERNAL_PROPERTY /* it for capability with jackson oddities */) {
throw new IllegalArgumentException("On " + clazz + " mapping support only " + JsonTypeInfo.As.PROPERTY + " but find: " + include);
}
name = getPropertyName(typeInfo);
value = getJsonType(clazz, typeInfo);
}
storage.set(KvUtils.join(path, name), value);
}
示例2: _findTypeResolver
import com.fasterxml.jackson.annotation.JsonTypeInfo; //导入方法依赖的package包/类
protected TypeResolverBuilder<?> _findTypeResolver(MapperConfig<?> paramMapperConfig, Annotated paramAnnotated, JavaType paramJavaType)
{
JsonTypeInfo localJsonTypeInfo = (JsonTypeInfo)paramAnnotated.getAnnotation(JsonTypeInfo.class);
JsonTypeResolver localJsonTypeResolver = (JsonTypeResolver)paramAnnotated.getAnnotation(JsonTypeResolver.class);
Object localObject;
if (localJsonTypeResolver != null)
{
if (localJsonTypeInfo == null)
return null;
localObject = paramMapperConfig.typeResolverBuilderInstance(paramAnnotated, localJsonTypeResolver.value());
}
else
{
if (localJsonTypeInfo == null)
return null;
if (localJsonTypeInfo.use() == JsonTypeInfo.Id.NONE)
return _constructNoTypeResolverBuilder();
localObject = _constructStdTypeResolverBuilder();
}
JsonTypeIdResolver localJsonTypeIdResolver = (JsonTypeIdResolver)paramAnnotated.getAnnotation(JsonTypeIdResolver.class);
TypeIdResolver localTypeIdResolver1;
if (localJsonTypeIdResolver == null)
localTypeIdResolver1 = null;
else
localTypeIdResolver1 = paramMapperConfig.typeIdResolverInstance(paramAnnotated, localJsonTypeIdResolver.value());
TypeIdResolver localTypeIdResolver2 = localTypeIdResolver1;
if (localTypeIdResolver1 != null)
localTypeIdResolver2.init(paramJavaType);
TypeResolverBuilder localTypeResolverBuilder1 = ((TypeResolverBuilder)localObject).init(localJsonTypeInfo.use(), localTypeIdResolver2);
JsonTypeInfo.As localAs1 = localJsonTypeInfo.include();
JsonTypeInfo.As localAs2 = localAs1;
if ((localAs1 == JsonTypeInfo.As.EXTERNAL_PROPERTY) && ((paramAnnotated instanceof AnnotatedClass)))
localAs2 = JsonTypeInfo.As.PROPERTY;
TypeResolverBuilder localTypeResolverBuilder2 = localTypeResolverBuilder1.inclusion(localAs2).typeProperty(localJsonTypeInfo.property());
Class localClass = localJsonTypeInfo.defaultImpl();
if (localClass != JsonTypeInfo.None.class)
localTypeResolverBuilder2 = localTypeResolverBuilder2.defaultImpl(localClass);
return localTypeResolverBuilder2.typeIdVisibility(localJsonTypeInfo.visible());
}
示例3: CodecTypeDeserializer
import com.fasterxml.jackson.annotation.JsonTypeInfo; //导入方法依赖的package包/类
protected CodecTypeDeserializer(PluginMap pluginMap, JsonTypeInfo.As inludeAs,
JavaType baseType, CodecTypeIdResolver idRes,
String typePropertyName, boolean typeIdVisible,
JavaType defaultImpl) {
super(baseType, idRes, typePropertyName, typeIdVisible, defaultImpl);
this.pluginMap = pluginMap;
this.inludeAs = inludeAs;
this.idRes = idRes;
}
示例4: inclusion
import com.fasterxml.jackson.annotation.JsonTypeInfo; //导入方法依赖的package包/类
public StdTypeResolverBuilder inclusion(JsonTypeInfo.As includeAs) {
if (includeAs == null) {
throw new IllegalArgumentException("includeAs can not be null");
}
_includeAs = includeAs;
return this;
}
示例5: inclusion
import com.fasterxml.jackson.annotation.JsonTypeInfo; //导入方法依赖的package包/类
@Override
public MetadataTypeResolver inclusion(JsonTypeInfo.As includeAs) {
return this;
}
示例6: getTypeInclusion
import com.fasterxml.jackson.annotation.JsonTypeInfo; //导入方法依赖的package包/类
@Override
public JsonTypeInfo.As getTypeInclusion() {
return JsonTypeInfo.As.EXISTING_PROPERTY;
}
示例7: getTypeInclusion
import com.fasterxml.jackson.annotation.JsonTypeInfo; //导入方法依赖的package包/类
@Override
public JsonTypeInfo.As getTypeInclusion() {
return inludeAs;
}
示例8: getTypeInclusion
import com.fasterxml.jackson.annotation.JsonTypeInfo; //导入方法依赖的package包/类
@Override
public abstract JsonTypeInfo.As getTypeInclusion();
示例9: getTypeInclusion
import com.fasterxml.jackson.annotation.JsonTypeInfo; //导入方法依赖的package包/类
/**
* Accessor for type information inclusion method
* that serializer uses; indicates how type information
* is embedded in resulting JSON.
*/
public abstract JsonTypeInfo.As getTypeInclusion();