本文整理汇总了Java中com.fasterxml.jackson.annotation.JsonSubTypes.Type类的典型用法代码示例。如果您正苦于以下问题:Java Type类的具体用法?Java Type怎么用?Java Type使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Type类属于com.fasterxml.jackson.annotation.JsonSubTypes包,在下文中一共展示了Type类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addJsonTypeInfo
import com.fasterxml.jackson.annotation.JsonSubTypes.Type; //导入依赖的package包/类
private void addJsonTypeInfo(JDefinedClass klass, ObjectTypeDeclaration type) {
if (!context.getConfig().isJacksonTypeInfo()) {
return;
}
if (type.discriminator() == null) {
return;
}
List<String> derivedTypes = context.getApiModel().findDerivedTypes(type.name());
if (derivedTypes.isEmpty()) {
return;
}
JAnnotationUse typeInfo = klass.annotate(JsonTypeInfo.class);
typeInfo.param("use", Id.NAME);
typeInfo.param("include", As.EXISTING_PROPERTY);
typeInfo.param("property", type.discriminator());
JAnnotationUse subTypes = klass.annotate(JsonSubTypes.class);
JAnnotationArrayMember typeArray = subTypes.paramArray(VALUE);
for (String derivedType : derivedTypes) {
JDefinedClass subtype = pkg._getClass(derivedType);
typeArray.annotate(Type.class).param(VALUE, subtype);
}
}
示例2: value
import com.fasterxml.jackson.annotation.JsonSubTypes.Type; //导入依赖的package包/类
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME)
@JsonSubTypes({
@Type(name = "I", value = Integer.class),
@Type(name = "O", value = Double.class)
})
// the annotation will be copied to a builder setter
public abstract @Nullable Object value();
示例3: findSubtypes
import com.fasterxml.jackson.annotation.JsonSubTypes.Type; //导入依赖的package包/类
public List<NamedType> findSubtypes(Annotated paramAnnotated)
{
JsonSubTypes localJsonSubTypes = (JsonSubTypes)paramAnnotated.getAnnotation(JsonSubTypes.class);
if (localJsonSubTypes == null)
return null;
JsonSubTypes.Type[] arrayOfType = localJsonSubTypes.value();
ArrayList localArrayList = new ArrayList(arrayOfType.length);
int i = arrayOfType.length;
for (int j = 0; j < i; j++)
{
JsonSubTypes.Type localType = arrayOfType[j];
localArrayList.add(new NamedType(localType.value(), localType.name()));
}
return localArrayList;
}
示例4: subclasses
import com.fasterxml.jackson.annotation.JsonSubTypes.Type; //导入依赖的package包/类
@Nonnull
@Override
public Result<Map<TypeDescriptor, String>> subclasses(TypeDescriptor type) {
JsonSubTypes jsonSubType = type.getAnnotation(JsonSubTypes.class);
if (jsonSubType != null && jsonSubType.value().length > 0) {
TypeDescriptors typeDescriptors = type.getTypeDescriptors();
Map<TypeDescriptor, String> aliasesByTypes = asList(jsonSubType.value()).stream()
.collect(toMap(subType -> typeDescriptors.get(subType.value()), Type::name));
return Result.of(aliasesByTypes);
}
return Result.notFound();
}