Java 类com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder 实例源码

项目:haven-platform    文件:KeeperBeanDeserializerModifier.java   
@Override
public BeanDeserializerBuilder updateBuilder(DeserializationConfig config, BeanDescription beanDesc, BeanDeserializerBuilder builder) {
    for (BeanPropertyDefinition propDef : beanDesc.findProperties()) {
        if (!propDef.hasGetter() || propDef.hasSetter()) {
            continue;
        }
        AnnotatedMember getter = propDef.getAccessor();
        if (!Keeper.class.equals(getter.getRawType())) {
            continue;
        }

        builder.addOrReplaceProperty(new CustomGetterBeanProperty(propDef, getter), true);
    }
    return builder;
}
项目:JglTF    文件:JacksonUtils.java   
/**
 * Creates a BeanDeserializerModifier that replaces the 
 * SettableBeanProperties in the BeanDeserializerBuilder with
 * ErrorReportingSettableBeanProperty instances that forward
 * information about errors when setting bean properties to the
 * given consumer. (Don't ask ... )  
 * 
 * @param jsonErrorConsumer The consumer for {@link JsonError}s.
 * If this is <code>null</code>, then no errors will be reported.
 * @return The modifier
 */
private static BeanDeserializerModifier 
    createErrorHandlingBeanDeserializerModifier(
        Consumer<? super JsonError> jsonErrorConsumer)
{
    return new BeanDeserializerModifier()
    {
        @Override
        public BeanDeserializerBuilder updateBuilder(
            DeserializationConfig config,
            BeanDescription beanDesc,
            BeanDeserializerBuilder builder)
        {
            Iterator<SettableBeanProperty> propertiesIterator =
                builder.getProperties();
            while (propertiesIterator.hasNext())
            {
                SettableBeanProperty property = propertiesIterator.next();
                SettableBeanProperty wrappedProperty =
                    new ErrorReportingSettableBeanProperty(
                        property, jsonErrorConsumer);
                builder.addOrReplaceProperty(wrappedProperty, true);
            }
            return builder;
        }
    };    
}
项目:hawkular-alerts    文件:JacksonDeserializer.java   
@Override
public BeanDeserializerBuilder updateBuilder(DeserializationConfig config, BeanDescription beanDesc,
        BeanDeserializerBuilder builder) {
    if (!thinnables.contains(beanDesc.getBeanClass())) {
        return builder;
    }
    for (String ignore : ignorables) {
        builder.addIgnorable(ignore);
    }
    return builder;
}
项目:clotho3crud    文件:ClothoDatabindModule.java   
@Override
public void setupModule(SetupContext context) {
    context.addBeanDeserializerModifier(new BeanDeserializerModifier(){
        @Override
        public BeanDeserializerBuilder updateBuilder(DeserializationConfig config, BeanDescription beanDesc, BeanDeserializerBuilder builder) {
            //TODO: use clotho Value Instantiator (gets objects from pre-processing)
            builder.setValueInstantiator(null);
            return builder;
        }
    });
}
项目:data-prep    文件:JsonAsStringBeanDeserializerModifier.java   
@Override
public BeanDeserializerBuilder updateBuilder(DeserializationConfig config, BeanDescription beanDesc,
        BeanDeserializerBuilder builder) {
    Iterator<SettableBeanProperty> it = builder.getProperties();
    while (it.hasNext()) {
        SettableBeanProperty p = it.next();
        if (p.getAnnotation(JsonRawValue.class) != null) {
            builder.addOrReplaceProperty(p.withValueDeserializer(JsonAsStringDeserializer.INSTANCE), true);
        }
    }
    return builder;
}
项目:sdcct    文件:AbstractSdcctBeanDeserializerModifier.java   
@Override
public BeanDeserializerBuilder updateBuilder(DeserializationConfig config, BeanDescription desc, BeanDeserializerBuilder deserializerBuilder) {
    return (this.canModify(desc) ? this.updateBuilderInternal(config, desc, deserializerBuilder) : super.updateBuilder(config, desc, deserializerBuilder));
}
项目:sdcct    文件:AbstractSdcctBeanDeserializerModifier.java   
protected BeanDeserializerBuilder updateBuilderInternal(DeserializationConfig config, BeanDescription desc, BeanDeserializerBuilder deserializerBuilder) {
    return super.updateBuilder(config, desc, deserializerBuilder);
}