@Override public BeanSerializerBuilder updateBuilder(SerializationConfig config, BeanDescription beanDesc, BeanSerializerBuilder builder) { for (BeanPropertyWriter writer : builder.getProperties()) { JavaType propertyType = writer.getMember().getType(); Class<?> type = propertyType.getRawClass(); List<BeanPropertyDefinition> properties = getProperties(propertyType, config); Optional.ofNullable(AnnotationUtils.findAnnotation(type, ValueObject.class))// .filter(it -> properties.size() == 1)// .flatMap(it -> properties.stream().findFirst())// .ifPresent(it -> writer.assignSerializer(new PropertyAccessingSerializer(it))); } return builder; }
public BeanSerializerBase(JavaType paramJavaType, BeanSerializerBuilder paramBeanSerializerBuilder, BeanPropertyWriter[] paramArrayOfBeanPropertyWriter1, BeanPropertyWriter[] paramArrayOfBeanPropertyWriter2) { super(paramJavaType); this._props = paramArrayOfBeanPropertyWriter1; this._filteredProps = paramArrayOfBeanPropertyWriter2; BeanSerializerBase localBeanSerializerBase; JsonFormat.Shape localShape; if (paramBeanSerializerBuilder == null) { this._typeId = null; this._anyGetterWriter = null; this._propertyFilterId = null; this._objectIdWriter = null; localBeanSerializerBase = this; localShape = null; } else { this._typeId = paramBeanSerializerBuilder.getTypeId(); this._anyGetterWriter = paramBeanSerializerBuilder.getAnyGetter(); this._propertyFilterId = paramBeanSerializerBuilder.getFilterId(); this._objectIdWriter = paramBeanSerializerBuilder.getObjectIdWriter(); JsonFormat.Value localValue = paramBeanSerializerBuilder.getBeanDescription().findExpectedFormat(null); localBeanSerializerBase = this; if (localValue == null) localShape = null; else localShape = localValue.getShape(); } localBeanSerializerBase._serializationShape = localShape; }
public ModelSerializer(JavaType type, BeanSerializerBuilder builder, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties) { super(type, builder, properties, filteredProperties); }
@Override public BeanSerializerBuilder updateBuilder(SerializationConfig config, BeanDescription desc, BeanSerializerBuilder serializerBuilder) { return (this.canModify(desc) ? this.updateBuilderInternal(config, desc, serializerBuilder) : super.updateBuilder(config, desc, serializerBuilder)); }
protected BeanSerializerBuilder updateBuilderInternal(SerializationConfig config, BeanDescription desc, BeanSerializerBuilder serializerBuilder) { return super.updateBuilder(config, desc, serializerBuilder); }