下面列出了怎么用com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public BeanDeserializerBuilder updateBuilder(
DeserializationConfig config, BeanDescription beanDesc,
BeanDeserializerBuilder builder) {
if (!type.equals(beanDesc.getBeanClass())) {
return builder;
}
for (String ignorable : ignorables) {
builder.addIgnorable(ignorable);
}
return builder;
}
@Override
public BeanDeserializerBuilder updateBuilder(
DeserializationConfig config, BeanDescription beanDesc,
BeanDeserializerBuilder builder) {
if (!type.equals(beanDesc.getBeanClass())) {
return builder;
}
for (String ignorable : ignorables) {
builder.addIgnorable(ignorable);
}
return builder;
}
public AbstractBeanDeserializer(BeanDeserializerBuilder builder,
BeanDescription beanDesc,
BeanPropertyMap properties,
Map<String, SettableBeanProperty> backRefs, HashSet<String> ignorableProps,
boolean ignoreAllUnknown, boolean hasViews) {
super(builder, beanDesc, properties, backRefs, ignorableProps, ignoreAllUnknown, hasViews);
}
@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;
}
/**
* 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;
}
};
}
@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;
}
@Override
public BeanDeserializerBuilder updateBuilder(
DeserializationConfig config, BeanDescription beanDesc,
BeanDeserializerBuilder builder) {
if (!type.equals(beanDesc.getBeanClass())) {
return builder;
}
for (String ignorable : ignorables) {
builder.addIgnorable(ignorable);
}
return builder;
}
public DurationDeserializer(BeanDeserializerBuilder builder, BeanDescription beanDesc,
BeanPropertyMap properties, Map<String, SettableBeanProperty> backRefs,
HashSet<String> ignorableProps, boolean ignoreAllUnknown, boolean hasViews) {
super(builder, beanDesc, properties, backRefs, ignorableProps, ignoreAllUnknown, hasViews);
}
public CalendarDeserializer(BeanDeserializerBuilder builder,
BeanDescription beanDesc, BeanPropertyMap properties,
Map<String, SettableBeanProperty> backRefs, HashSet<String> ignorableProps,
boolean ignoreAllUnknown, boolean hasViews) {
super(builder, beanDesc, properties, backRefs, ignorableProps, ignoreAllUnknown, hasViews);
}
public XMLGregorianCalendarDeserializer(BeanDeserializerBuilder builder,
BeanDescription beanDesc, BeanPropertyMap properties,
Map<String, SettableBeanProperty> backRefs, HashSet<String> ignorableProps,
boolean ignoreAllUnknown, boolean hasViews) {
super(builder, beanDesc, properties, backRefs, ignorableProps, ignoreAllUnknown, hasViews);
}
public BuilderAndPropertyMap(BeanDeserializerBuilder builder, BeanPropertyMap propertyMap, BeanDescription beanDesc) {
this.builder = builder;
this.propertyMap = propertyMap;
this.beanDesc = beanDesc;
}
public BigDecimalDeserializer(BeanDeserializerBuilder builder,
BeanDescription beanDesc, BeanPropertyMap properties,
Map<String, SettableBeanProperty> backRefs, HashSet<String> ignorableProps,
boolean ignoreAllUnknown, boolean hasViews) {
super(builder, beanDesc, properties, backRefs, ignorableProps, ignoreAllUnknown, hasViews);
}
@Override
public void addBeanProps(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder) throws JsonMappingException {
super.addBeanProps(ctxt, beanDesc, builder);
}
@Override
public void addObjectIdReader(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder) throws JsonMappingException {
super.addObjectIdReader(ctxt, beanDesc, builder);
}
@Override
public void addBackReferenceProperties(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder) throws JsonMappingException {
super.addBackReferenceProperties(ctxt, beanDesc, builder);
}
@Override
public void addInjectables(DeserializationContext ctxt, BeanDescription beanDesc, BeanDeserializerBuilder builder) throws JsonMappingException {
super.addInjectables(ctxt, beanDesc, builder);
}