类com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder源码实例Demo

下面列出了怎么用com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: phoenicis   文件: DTOContractTest.java
private static Optional<Constructor<?>> getConstructorHavingJsonBuilder(Class<?> clazz) {
    for (Constructor<?> constructor : clazz.getDeclaredConstructors()) {
        final List<Class<?>> parameterTypes = Arrays.stream(constructor.getParameterTypes())
                .filter(s -> s.getName().contains("Builder")).collect(Collectors.toList());

        if (parameterTypes.size() > 0) {
            final Annotation[] annotations = parameterTypes.get(0).getAnnotations();

            for (Annotation annotation : annotations) {
                if (annotation.annotationType() == JsonPOJOBuilder.class) {
                    return Optional.of(constructor);
                }
            }
        }
    }
    return Optional.empty();
}
 
源代码2 项目: domino-jackson   文件: AptDeserializerBuilder.java
private MethodSpec newInstanceMethod(TypeMirror beanType, MethodSpec createMethod, boolean useBuilder) {
    MethodSpec.Builder builder = MethodSpec.methodBuilder("newInstance")
            .addModifiers(Modifier.PUBLIC)
            .addAnnotation(Override.class)
            .returns(ParameterizedTypeName.get(ClassName.get(Instance.class), ClassName.get(beanType)))
            .addParameter(JsonReader.class, "reader")
            .addParameter(JsonDeserializationContext.class, "ctx")
            .addParameter(JsonDeserializerParameters.class, "params")
            .addParameter(ParameterizedTypeName.get(Map.class, String.class, String.class), "bufferedProperties")
            .addParameter(ParameterizedTypeName.get(Map.class, String.class, Object.class), "bufferedPropertiesValues");

    if (useBuilder) {
        TypeElement builderElement = getBuilderElement();
        JsonPOJOBuilder jsonPOJOBuilder = builderElement.getAnnotation(JsonPOJOBuilder.class);
        String buildMethodName = JsonPOJOBuilder.DEFAULT_BUILD_METHOD;
        if (nonNull(jsonPOJOBuilder)) {
            buildMethodName = jsonPOJOBuilder.buildMethodName();
        }
        builder.addStatement("return new $T(builderDeserializer.deserializeInline(reader, ctx, params, null, null, null, bufferedProperties)." + buildMethodName + "(), bufferedProperties)",
                ParameterizedTypeName.get(ClassName.get(Instance.class), ClassName.get(beanType)));
    } else if (isUseJsonCreator()) {
        buildAssignProperties(beanType, createMethod, builder);
    } else {
        builder.addStatement("return new $T($N(), bufferedProperties)",
                ParameterizedTypeName.get(ClassName.get(Instance.class), ClassName.get(beanType)),
                createMethod);
    }

    return builder.build();
}
 
源代码3 项目: lams   文件: BasicClassIntrospector.java
protected POJOPropertiesCollector collectPropertiesWithBuilder(MapperConfig<?> config,
        JavaType type, MixInResolver r, boolean forSerialization)
{
    AnnotatedClass ac = _resolveAnnotatedClass(config, type, r);
    AnnotationIntrospector ai = config.isAnnotationProcessingEnabled() ? config.getAnnotationIntrospector() : null;
    JsonPOJOBuilder.Value builderConfig = (ai == null) ? null : ai.findPOJOBuilderConfig(ac);
    String mutatorPrefix = (builderConfig == null) ? JsonPOJOBuilder.DEFAULT_WITH_PREFIX : builderConfig.withPrefix;
    return constructPropertyCollector(config, ac, type, forSerialization, mutatorPrefix);
}
 
源代码4 项目: lams   文件: BasicBeanDescription.java
@Override
public JsonPOJOBuilder.Value findPOJOBuilderConfig()
{
    return (_annotationIntrospector == null) ?
            null : _annotationIntrospector.findPOJOBuilderConfig(_classInfo);
}
 
源代码5 项目: lams   文件: AnnotationIntrospectorPair.java
@Override
public JsonPOJOBuilder.Value findPOJOBuilderConfig(AnnotatedClass ac) {
    JsonPOJOBuilder.Value result = _primary.findPOJOBuilderConfig(ac);
    return (result == null) ? _secondary.findPOJOBuilderConfig(ac) : result;
}
 
源代码6 项目: lams   文件: BeanDeserializerBuilder.java
public void setPOJOBuilder(AnnotatedMethod buildMethod, JsonPOJOBuilder.Value config) {
    _buildMethod = buildMethod;
    _builderConfig = config;
}
 
源代码7 项目: lams   文件: BeanDeserializerBuilder.java
public JsonPOJOBuilder.Value getBuilderConfig() {
    return _builderConfig;
}
 
源代码8 项目: lams   文件: AnnotationIntrospector.java
/**
 * @since 2.0
 */
public JsonPOJOBuilder.Value findPOJOBuilderConfig(AnnotatedClass ac) {
    return null;
}
 
源代码9 项目: lams   文件: BeanDescription.java
/**
 * Method for finding configuration for POJO Builder class.
 */
public abstract JsonPOJOBuilder.Value findPOJOBuilderConfig();
 
 类方法
 同包方法