com.fasterxml.jackson.databind.type.TypeFactory#constructType ( )源码实例Demo

下面列出了com.fasterxml.jackson.databind.type.TypeFactory#constructType ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: haven-platform   文件: KvMapperFactory.java
<T> Map<String, T> loadProps(Class<?> clazz, Function<KvProperty, T> func) {
    ImmutableMap.Builder<String, T> b = ImmutableMap.builder();
    TypeFactory tf = TypeFactory.defaultInstance();
    while(clazz != null && !Object.class.equals(clazz)) {
        for(Field field: clazz.getDeclaredFields()) {
            KvMapping mapping = field.getAnnotation(KvMapping.class);
            if(mapping == null) {
                continue;
            }
            JavaType javaType;
            String typeStr = mapping.type();
            if(!typeStr.isEmpty()) {
                javaType = tf.constructFromCanonical(typeStr);
            } else {
                javaType = tf.constructType(field.getGenericType());
            }
            KvProperty property = new KvProperty(this, field.getName(), field, javaType);
            b.put(property.getKey(), func.apply(property));
        }
        clazz = clazz.getSuperclass();
    }
    return b.build();
}
 
public FieldDescriptors generateDocumentation(Type baseType, TypeFactory typeFactory)
        throws JsonMappingException {
    JavaType javaBaseType = typeFactory.constructType(baseType);
    List<JavaType> types = resolveAllTypes(javaBaseType, typeFactory, typeMapping);
    FieldDescriptors result = new FieldDescriptors();

    FieldDocumentationVisitorWrapper visitorWrapper = FieldDocumentationVisitorWrapper.create(
            javadocReader, constraintReader, deserializationConfig,
            new TypeRegistry(typeMapping, types), typeFactory, translationResolver, skipAccessor);

    for (JavaType type : types) {
        log.debug("(TOP) {}", type.getRawClass().getSimpleName());
        if (RESOURCES_TYPES.contains(type.getRawClass().getCanonicalName())) {
            result.setNoContentMessageKey("body-as-embedded-resources");
            continue;
        }
        writer.acceptJsonFormatVisitor(type, visitorWrapper);
    }

    for (FieldDescriptor descriptor : visitorWrapper.getFields()) {
        result.putIfAbsent(descriptor.getPath(), descriptor);
    }
    return result;
}
 
源代码3 项目: data-highway   文件: PayloadTypeFactory.java
static PayloadTypeFactory fromClass(Class<?> payloadClass) {
  return new PayloadTypeFactory() {
    private static final long serialVersionUID = 1L;

    @Override
    public JavaType construct(TypeFactory typeFactory) {
      return typeFactory.constructType(payloadClass);
    }
  };
}
 
源代码4 项目: swagger-inflector   文件: ReflectionUtils.java
public JavaType[] getOperationParameterClasses(Operation operation, String mediaType, Map<String, Schema> definitions) {
    TypeFactory tf = Json.mapper().getTypeFactory();

    if (operation.getParameters() == null){
        operation.setParameters(new ArrayList<>());
    }
    int body = 0;
    JavaType[] bodyArgumentClasses = null;
    if (operation.getRequestBody() != null){
        bodyArgumentClasses = getTypeFromRequestBody(operation.getRequestBody(), mediaType, definitions);
        if (bodyArgumentClasses != null) {
            body = bodyArgumentClasses.length;
        }
    }

    JavaType[] jt = new JavaType[operation.getParameters().size() + 1 + body];
    int i = 0;
    jt[i] = tf.constructType(RequestContext.class);

    i += 1;

    for (Parameter parameter : operation.getParameters()) {
        JavaType argumentClasses = getTypeFromParameter(parameter, definitions);
        jt[i] = argumentClasses;
        i += 1;
    }
    if (operation.getRequestBody() != null && bodyArgumentClasses != null) {
        for (JavaType argument :bodyArgumentClasses) {
            jt[i] = argument;
            i += 1;
        }

    }
    return jt;
}
 
源代码5 项目: carina   文件: JsonUtils.java
public static <T> T fromJson(File file, Type type) {
    try {
        TypeFactory tf = mapper.getTypeFactory();
        JavaType javaType = tf.constructType(type);
        return mapper.readValue(file, javaType);
    } catch (Exception e) {
        throw new RuntimeException(e.getMessage(), e);
    }
}
 
protected JavaType constructType(Object object) {
  TypeFactory typeFactory = TypeFactory.defaultInstance();

  if (object instanceof List && !((List<?>) object).isEmpty()) {
    List<?> list = (List<?>) object;
    Object firstElement = list.get(0);
    if (bindingsArePresent(list.getClass())) {
      final JavaType elementType = constructType(firstElement);
      return typeFactory.constructCollectionType(list.getClass(), elementType);
    }
  }
  return typeFactory.constructType(object.getClass());
}
 
源代码7 项目: haven-platform   文件: StringConverter.java
@Override
public JavaType getInputType(TypeFactory typeFactory) {
    return typeFactory.constructType(Object.class);
}
 
protected JavaType getJavaType(Type type, @Nullable Class<?> contextClass) {
	TypeFactory typeFactory = this.objectMapper.getTypeFactory();
	return typeFactory.constructType(GenericTypeResolver.resolveType(type, contextClass));
}
 
源代码9 项目: swagger-inflector   文件: ReflectionUtils.java
public JavaType updateArgumentClass(Class<?> methodArg) {
    TypeFactory tf = Json.mapper().getTypeFactory();
    return tf.constructType(methodArg);
}
 
源代码10 项目: haven-platform   文件: KvSupportModule.java
@Override
public JavaType getOutputType(TypeFactory typeFactory) {
    return typeFactory.constructType(String.class);
}
 
源代码11 项目: ob1k   文件: JsonRequestMarshaller.java
private JavaType getJacksonType(final Type type) {
  final TypeFactory typeFactory = TypeFactory.defaultInstance();
  return typeFactory.constructType(type);
}
 
源代码12 项目: syndesis   文件: OAuth1CredentialFlowState.java
@Override
public JavaType getOutputType(final TypeFactory typeFactory) {
    return typeFactory.constructType(OAuthToken.class);
}
 
源代码13 项目: syndesis   文件: OAuth2CredentialFlowState.java
@Override
public JavaType getOutputType(final TypeFactory typeFactory) {
    return typeFactory.constructType(OAuthToken.class);
}
 
源代码14 项目: spring-vault   文件: Policy.java
@Override
public JavaType getOutputType(TypeFactory typeFactory) {
	return typeFactory.constructType(Capability.class);
}
 
源代码15 项目: spring-vault   文件: Policy.java
@Override
public JavaType getOutputType(TypeFactory typeFactory) {
	return typeFactory.constructType(String.class);
}
 
源代码16 项目: haven-platform   文件: MemoryToStringConverter.java
@Override
public JavaType getInputType(TypeFactory typeFactory) {
    return typeFactory.constructType(Long.class);
}
 
源代码17 项目: haven-platform   文件: MemoryFromStringConverter.java
@Override
public JavaType getInputType(TypeFactory typeFactory) {
    return typeFactory.constructType(String.class);
}
 
源代码18 项目: FastBootWeixin   文件: WxJsonAdapters.java
@Override
public JavaType getOutputType(TypeFactory typeFactory) {
    return typeFactory.constructType(Date.class);
}
 
/**
 * Return the Jackson {@link JavaType} for the specified type and context class.
 * @param type the generic type to return the Jackson JavaType for
 * @param contextClass a context class for the target type, for example a class
 * in which the target type appears in a method signature (can be {@code null})
 * @return the Jackson JavaType
 */
protected JavaType getJavaType(Type type, @Nullable Class<?> contextClass) {
	TypeFactory typeFactory = this.objectMapper.getTypeFactory();
	return typeFactory.constructType(GenericTypeResolver.resolveType(type, contextClass));
}
 
/**
 * Return the Jackson {@link JavaType} for the specified type and context class.
 * @param type the generic type to return the Jackson JavaType for
 * @param contextClass a context class for the target type, for example a class
 * in which the target type appears in a method signature (can be {@code null})
 * @return the Jackson JavaType
 */
protected JavaType getJavaType(Type type, @Nullable Class<?> contextClass) {
	TypeFactory typeFactory = this.objectMapper.getTypeFactory();
	return typeFactory.constructType(GenericTypeResolver.resolveType(type, contextClass));
}