com.fitbur.jackson.databind.ser.std.MapProperty Maven / Gradle / Ivy
package com.fitbur.jackson.databind.ser.std;
import java.io.IOException;
import java.lang.annotation.Annotation;
import com.fitbur.jackson.core.JsonGenerator;
import com.fitbur.jackson.databind.BeanProperty;
import com.fitbur.jackson.databind.JavaType;
import com.fitbur.jackson.databind.JsonMappingException;
import com.fitbur.jackson.databind.JsonSerializer;
import com.fitbur.jackson.databind.PropertyMetadata;
import com.fitbur.jackson.databind.PropertyName;
import com.fitbur.jackson.databind.SerializerProvider;
import com.fitbur.jackson.databind.introspect.AnnotatedMember;
import com.fitbur.jackson.databind.jsonFormatVisitors.JsonObjectFormatVisitor;
import com.fitbur.jackson.databind.jsontype.TypeSerializer;
import com.fitbur.jackson.databind.node.ObjectNode;
import com.fitbur.jackson.databind.ser.PropertyWriter;
import com.fitbur.jackson.databind.type.TypeFactory;
/**
* Helper class needed to support flexible filtering of Map properties
* with generic JSON Filter functionality. Since {@link java.util.Map}s
* are not handled as a collection of properties by Jackson (unlike POJOs),
* bit more wrapping is required.
*/
public class MapProperty extends PropertyWriter
{
private static final long serialVersionUID = 1L;
protected final TypeSerializer _typeSerializer;
protected final BeanProperty _property;
protected Object _key;
protected JsonSerializer