protected OptimizedBeanPropertyWriter(BeanPropertyWriter src, BeanPropertyAccessor propertyAccessor, int propertyIndex, JsonSerializer<Object> ser) { super(src); this.fallbackWriter = unwrapFallbackWriter(src); // either use the passed on serializer or the original one _serializer = (ser != null) ? ser : src.getSerializer(); _propertyAccessor = propertyAccessor; _propertyIndex = propertyIndex; _fastName = src.getSerializedName(); }
/** * {@inheritDoc} * * @deprecated Provided for compatibility with deprecated method in Jackson. */ @Override @Deprecated public void serializeAsField( final Object pojo, final JsonGenerator jgen, final SerializerProvider prov, final BeanPropertyWriter writer) throws Exception { if (writer.getAnnotation(LogRedact.class) == null) { super.serializeAsField(pojo, jgen, prov, writer); } else { // since 2.3 if (_allowNull && writer.get(pojo) == null) { super.serializeAsField(pojo, jgen, prov, writer); } else { jgen.writeStringField(writer.getSerializedName().getValue(), REDACTION_STRING); } } }
@Override public void serializeAsField( final Object pojo, final JsonGenerator jgen, final SerializerProvider prov, final PropertyWriter writer) throws Exception { if (writer instanceof BeanPropertyWriter) { final BeanPropertyWriter beanPropertyWriter = (BeanPropertyWriter) writer; if (beanPropertyWriter.getAnnotation(LogRedact.class) == null) { super.serializeAsField(pojo, jgen, prov, writer); } else { if (_allowNull && beanPropertyWriter.get(pojo) == null) { super.serializeAsField(pojo, jgen, prov, writer); } else { jgen.writeStringField(beanPropertyWriter.getSerializedName().getValue(), REDACTION_STRING); } } } else { super.serializeAsField(pojo, jgen, prov, writer); } }