# Deprecated API

## Contents

- Deprecated Interfaces
- Deprecated Classes
- Deprecated Fields
- Deprecated Methods
- Deprecated Constructors
- Deprecated Enum Constants
- Deprecated Annotation Type Elements

Deprecated Interfaces
Interface and Description
com.fasterxml.jackson.databind.ser.BeanPropertyFilter Since 2.3: use `PropertyFilter` instead.

Deprecated Classes
Class and Description
com.fasterxml.jackson.databind.ser.std.EnumMapSerializer Since 2.4.4; standard `MapSerializer` works better. (to be removed from 2.6)
com.fasterxml.jackson.databind.jsonschema.JsonSchema Since 2.2, we recommend use of external JSON Schema generator module</module>

Deprecated Fields
Field and Description
com.fasterxml.jackson.databind.util.SimpleBeanPropertyDefinition._name Since 2.5 use `_fullName` instead.
com.fasterxml.jackson.databind.deser.impl.ReadableObjectId.id
com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer.instance Since 2.3, construct a new instance, needs to be resolved
com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.instance
com.fasterxml.jackson.databind.deser.impl.ReadableObjectId.item Prefer using `ReadableObjectId.resolve()`, which is able to handle external id resolving mechanism.

Deprecated Methods
Method and Description
com.fasterxml.jackson.databind.deser.BasicDeserializerFactory._addDeserializerConstructors(DeserializationContext, BeanDescription, VisibilityChecker<?>, AnnotationIntrospector, CreatorCollector)
com.fasterxml.jackson.databind.deser.BasicDeserializerFactory._addDeserializerFactoryMethods(DeserializationContext, BeanDescription, VisibilityChecker<?>, AnnotationIntrospector, CreatorCollector)
com.fasterxml.jackson.databind.ObjectWriter._configureJsonGenerator(JsonGenerator) Since 2.5 (to be removed from 2.6 or later)
com.fasterxml.jackson.databind.deser.std.DelegatingDeserializer._createContextual(DeserializationContext, BeanProperty, JsonDeserializer<?>) Since 2.3, use `DelegatingDeserializer.newDelegatingInstance(com.fasterxml.jackson.databind.JsonDeserializer<?>)` instead
com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._deserializeWithNativeTypeId(JsonParser, DeserializationContext)
com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.addCtor(AnnotatedParameter, String, boolean, boolean) Since 2.4 call method that takes additional 'explName' argument, to indicate whether name of property was provided by annotation (and not derived from accessor name); this method assumes the name is explicit if it is non-null.
com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.addCtor(AnnotatedParameter, String, boolean, boolean, boolean)
com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.addField(AnnotatedField, String, boolean, boolean) Since 2.4 call method that takes additional 'explName' argument, to indicate whether name of property was provided by annotation (and not derived from accessor name); this method assumes the name is explicit if it is non-null.
com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.addField(AnnotatedField, String, boolean, boolean, boolean)
com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider.addFilter(String, BeanPropertyFilter) since 2.3
com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.addGetter(AnnotatedMethod, String, boolean, boolean) Since 2.4 call method that takes additional 'explName' argument, to indicate whether name of property was provided by annotation (and not derived from accessor name); this method assumes the name is explicit if it is non-null.
com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.addGetter(AnnotatedMethod, String, boolean, boolean, boolean)
com.fasterxml.jackson.databind.ObjectMapper.addMixInAnnotations(Class<?>, Class<?>) Since 2.5: replaced by a fluent form of the method; `ObjectMapper.addMixIn(Class, Class)`.
com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.addSetter(AnnotatedMethod, String, boolean, boolean) Since 2.4 call method that takes additional 'explName' argument, to indicate whether name of property was provided by annotation (and not derived from accessor name); this method assumes the name is explicit if it is non-null.
com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.addSetter(AnnotatedMethod, String, boolean, boolean, boolean)
com.fasterxml.jackson.databind.ser.BasicSerializerFactory.buildIterableSerializer(SerializationConfig, JavaType, BeanDescription, boolean)
com.fasterxml.jackson.databind.ser.BasicSerializerFactory.buildIteratorSerializer(SerializationConfig, JavaType, BeanDescription, boolean)
com.fasterxml.jackson.databind.PropertyMetadata.construct(boolean, String)
com.fasterxml.jackson.databind.deser.impl.ObjectIdReader.construct(JavaType, PropertyName, ObjectIdGenerator<?>, JsonDeserializer<?>, SettableBeanProperty)
com.fasterxml.jackson.databind.ser.impl.ObjectIdWriter.construct(JavaType, String, ObjectIdGenerator<?>, boolean)
com.fasterxml.jackson.databind.util.SimpleBeanPropertyDefinition.construct(MapperConfig<?>, AnnotatedMember, String) Since 2.5
com.fasterxml.jackson.databind.type.TypeFactory.constructParametricType(Class<?>, Class<?>...) Since 2.5, use `TypeFactory.constructParametrizedType(java.lang.Class<?>, java.lang.Class<?>, java.lang.Class<?>...)` instead.
com.fasterxml.jackson.databind.type.TypeFactory.constructParametricType(Class<?>, JavaType...) Since 2.5, use `TypeFactory.constructParametrizedType(java.lang.Class<?>, java.lang.Class<?>, java.lang.Class<?>...)` instead.
com.fasterxml.jackson.databind.type.TypeFactory.constructSimpleType(Class<?>, JavaType[]) Since 2.5, use variant that takes one more argument
com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter.depositSchemaProperty(BeanPropertyWriter, JsonObjectFormatVisitor, SerializerProvider)
com.fasterxml.jackson.databind.ser.BeanPropertyFilter.depositSchemaProperty(BeanPropertyWriter, ObjectNode, SerializerProvider) Since 2.3: new code should use the alternative `depositSchemaProperty` method
com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter.depositSchemaProperty(BeanPropertyWriter, ObjectNode, SerializerProvider)
com.fasterxml.jackson.databind.ser.PropertyWriter.depositSchemaProperty(ObjectNode, SerializerProvider) Since 2.2
com.fasterxml.jackson.databind.ser.BeanPropertyWriter.depositSchemaProperty(ObjectNode, SerializerProvider)
com.fasterxml.jackson.databind.ser.std.MapProperty.depositSchemaProperty(ObjectNode, SerializerProvider)
com.fasterxml.jackson.databind.ser.PropertyFilter.depositSchemaProperty(PropertyWriter, ObjectNode, SerializerProvider) Since 2.3: new code should use the alternative `depositSchemaProperty` method
com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter.depositSchemaProperty(PropertyWriter, ObjectNode, SerializerProvider)
com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.emptyMap() Since 2.5 Use `PropertySerializerMap.emptyForProperties()` instead
com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findCreatorParameterNames() Since 2.5, does not seem to be used at all.
com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findCreatorPropertyNames() Since 2.4, use `findCreatorParameterNames()` instead.
com.fasterxml.jackson.databind.ser.FilterProvider.findFilter(Object) Since 2.3 deprecated because `BeanPropertyFilter` is deprecated;
com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider.findFilter(Object)
com.fasterxml.jackson.databind.AnnotationIntrospector.findFilterId(AnnotatedClass) Since 2.3: use the one that takes generic `Annotated`
com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector.findFilterId(AnnotatedClass) (since 2.3) Use `JacksonAnnotationIntrospector.findFilterId(Annotated)` instead
com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair.findFilterId(AnnotatedClass)
com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.findNewName()
com.fasterxml.jackson.databind.DeserializationContext.findObjectId(Object, ObjectIdGenerator<?>)
com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.findObjectId(Object, ObjectIdGenerator<?>)
com.fasterxml.jackson.databind.AnnotationIntrospector.findSerializationSortAlphabetically(AnnotatedClass)
com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector.findSerializationSortAlphabetically(AnnotatedClass)
com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair.findSerializationSortAlphabetically(AnnotatedClass)
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.getBeanClass() Since 2.3, use `BeanDeserializerBase.handledType()` instead
com.fasterxml.jackson.databind.util.StdDateFormat.getBlueprintISO8601Format() Since 2.4 not to be used.
com.fasterxml.jackson.databind.util.StdDateFormat.getBlueprintRFC1123Format() Since 2.4 not to be used.
com.fasterxml.jackson.databind.util.StdDateFormat.getISO8601Format(TimeZone) Since 2.4; use variant that takes Locale
com.fasterxml.jackson.databind.ObjectWriter.getJsonFactory() Since 2.2, use `ObjectWriter.getFactory()` instead.
com.fasterxml.jackson.databind.ObjectReader.getJsonFactory() Since 2.1: Use `ObjectReader.getFactory()` instead
com.fasterxml.jackson.databind.ObjectMapper.getJsonFactory() Since 2.1: Use `ObjectMapper.getFactory()` instead
com.fasterxml.jackson.databind.util.StdDateFormat.getRFC1123Format(TimeZone) Since 2.4; use variant that takes Locale
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.getSchema(SerializerProvider, Type)
com.fasterxml.jackson.databind.SerializerProvider.getSerializationView() Since 2.2, use `SerializerProvider.getActiveView()` instead.
com.fasterxml.jackson.databind.ser.std.StdKeySerializers.getStdKeySerializer(JavaType) Since 2.5
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.getUnrecognizedPropertyName() Since 2.3, use `PropertyBindingException.getPropertyName()` instead.
com.fasterxml.jackson.databind.deser.std.StdDeserializer.getValueClass() Since 2.3 use `StdDeserializer.handledType()` instead
com.fasterxml.jackson.databind.DeserializationContext.hasValueDeserializerFor(JavaType)
com.fasterxml.jackson.databind.ser.std.ToStringSerializer.isEmpty(Object)
com.fasterxml.jackson.databind.ser.std.StdDelegatingSerializer.isEmpty(Object)
com.fasterxml.jackson.databind.ser.std.StringSerializer.isEmpty(String)
com.fasterxml.jackson.databind.JsonSerializer.isEmpty(T) Since 2.5 Use `JsonSerializer.isEmpty(SerializerProvider, Object)` instead
com.fasterxml.jackson.databind.ser.std.UUIDSerializer.isEmpty(UUID)
com.fasterxml.jackson.databind.util.BeanUtil.okNameForGetter(AnnotatedMethod)
com.fasterxml.jackson.databind.util.BeanUtil.okNameForIsGetter(AnnotatedMethod, String)
com.fasterxml.jackson.databind.util.BeanUtil.okNameForMutator(AnnotatedMethod, String)
com.fasterxml.jackson.databind.util.BeanUtil.okNameForRegularGetter(AnnotatedMethod, String)
com.fasterxml.jackson.databind.util.BeanUtil.okNameForSetter(AnnotatedMethod)
com.fasterxml.jackson.databind.node.JsonNodeFactory.POJONode(Object) Since 2.3 Use `JsonNodeFactory.pojoNode(java.lang.Object)` instead.
com.fasterxml.jackson.databind.node.ContainerNode.POJONode(Object) Since 2.3 Use `ContainerNode.pojoNode(java.lang.Object)` instead.
com.fasterxml.jackson.databind.node.ObjectNode.put(String, JsonNode) Since 2.4 use either `ObjectNode.set(String,JsonNode)` or `ObjectNode.replace(String,JsonNode)`,
com.fasterxml.jackson.databind.node.ObjectNode.putAll(Map<String, ? extends JsonNode>) Since 2.4 use `ObjectNode.setAll(Map)`,
com.fasterxml.jackson.databind.node.ObjectNode.putAll(ObjectNode) Since 2.4 use `ObjectNode.setAll(ObjectNode)`,
com.fasterxml.jackson.databind.ser.std.MapProperty.reset(Object, Object, JsonSerializer Since 2.5, remove in 2.6
com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter.serializeAsField(Object, JsonGenerator, SerializerProvider, BeanPropertyWriter)
com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFilteredFields(Map<?, ?>, JsonGenerator, SerializerProvider, PropertyFilter)
com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeTypedFields(Map<?, ?>, JsonGenerator, SerializerProvider)
com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider.setDefaultFilter(BeanPropertyFilter) Since 2.3 should use `PropertyFilter` instead of `BeanPropertyFilter`
com.fasterxml.jackson.databind.ObjectMapper.setMixInAnnotations(Map<Class<?>, Class<?>>) Since 2.5: replaced by a fluent form of the method; `ObjectMapper.setMixIns(java.util.Map<java.lang.Class<?>, java.lang.Class<?>>)`.
com.fasterxml.jackson.databind.jsontype.impl.TypeNameIdResolver.typeFromId(String)
com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase.typeFromId(String) Since 2.3, override `TypeIdResolverBase.typeFromId(DatabindContext, String)` instead to get access to contextual information
com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver.typeFromId(String)
com.fasterxml.jackson.databind.jsontype.TypeIdResolver.typeFromId(String) since 2.5; call `TypeIdResolver.typeFromId(DatabindContext, String)` instead
com.fasterxml.jackson.databind.DeserializationContext.weirdNumberException(Class<?>, String)
com.fasterxml.jackson.databind.DeserializationContext.weirdStringException(Class<?>, String) Since 2.1 should use variant that takes value
com.fasterxml.jackson.databind.deser.SettableBeanProperty.withName(String)
com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition.withName(String)
com.fasterxml.jackson.databind.util.SimpleBeanPropertyDefinition.withName(String)
com.fasterxml.jackson.databind.ObjectWriter.withSchema(FormatSchema) Since 2.5 use `ObjectWriter.with(FormatSchema)` instead
com.fasterxml.jackson.databind.ObjectWriter.withType(Class<?>) since 2.5 Use `ObjectWriter.forType(Class)` instead
com.fasterxml.jackson.databind.ObjectReader.withType(Class<?>) since 2.5 Use `ObjectReader.forType(Class)` instead
com.fasterxml.jackson.databind.ObjectWriter.withType(JavaType) since 2.5 Use `ObjectWriter.forType(JavaType)` instead
com.fasterxml.jackson.databind.ObjectReader.withType(JavaType) since 2.5 Use `ObjectReader.forType(JavaType)` instead
com.fasterxml.jackson.databind.ObjectReader.withType(Type) since 2.5 Use `ObjectReader.forType(Class)` instead
com.fasterxml.jackson.databind.ObjectWriter.withType(TypeReference<?>) since 2.5 Use `ObjectWriter.forType(TypeReference)` instead
com.fasterxml.jackson.databind.ObjectReader.withType(TypeReference<?>) since 2.5 Use `ObjectReader.forType(TypeReference)` instead
com.fasterxml.jackson.databind.deser.std.MapDeserializer.wrapAndThrow(Throwable, Object)
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapAndThrow(Throwable, Object, int, DeserializationContext)
com.fasterxml.jackson.databind.ObjectMapper.writerWithType(Class<?>) Since 2.5, use `ObjectMapper.writerFor(Class)` instead
com.fasterxml.jackson.databind.ObjectMapper.writerWithType(JavaType) Since 2.5, use `ObjectMapper.writerFor(JavaType)` instead
com.fasterxml.jackson.databind.ObjectMapper.writerWithType(TypeReference<?>) Since 2.5, use `ObjectMapper.writerFor(TypeReference)` instead

Deprecated Constructors
Constructor and Description
com.fasterxml.jackson.databind.BeanProperty.Std(String, JavaType, PropertyName, Annotations, AnnotatedMember, boolean)
com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase(Class<?>) Since 2.3 use one that takes `JavaType`
com.fasterxml.jackson.databind.deser.CreatorProperty(CreatorProperty, String)
com.fasterxml.jackson.databind.deser.CreatorProperty(String, JavaType, PropertyName, TypeDeserializer, Annotations, AnnotatedParameter, int, Object, boolean)
com.fasterxml.jackson.databind.ser.std.EnumSerializer(EnumValues) Since 2.1
com.fasterxml.jackson.databind.MappingIterator(JavaType, JsonParser, DeserializationContext, JsonDeserializer<?>) Since 2.1, to be removed
com.fasterxml.jackson.databind.ser.std.MapProperty(TypeSerializer) since 2.4
com.fasterxml.jackson.databind.ser.std.MapSerializer(MapSerializer, TypeSerializer)
com.fasterxml.jackson.databind.ser.std.NumberSerializer()
com.fasterxml.jackson.databind.introspect.ObjectIdInfo(PropertyName, Class<?>, Class<? extends ObjectIdGenerator<?>>)
com.fasterxml.jackson.databind.introspect.ObjectIdInfo(String, Class<?>, Class<? extends ObjectIdGenerator<?>>)
com.fasterxml.jackson.databind.deser.impl.ObjectIdReader(JavaType, PropertyName, ObjectIdGenerator<?>, JsonDeserializer<?>, SettableBeanProperty)
com.fasterxml.jackson.databind.deser.impl.ObjectIdValueProperty(ObjectIdValueProperty, PropertyName)
com.fasterxml.jackson.databind.deser.impl.ObjectIdValueProperty(ObjectIdValueProperty, String)
com.fasterxml.jackson.databind.PropertyMetadata(Boolean, String)
com.fasterxml.jackson.databind.deser.impl.ReadableObjectId(Object)
com.fasterxml.jackson.databind.deser.SettableBeanProperty(SettableBeanProperty, String)
com.fasterxml.jackson.databind.deser.SettableBeanProperty(String, JavaType, PropertyName, TypeDeserializer, Annotations, boolean)
com.fasterxml.jackson.databind.util.SimpleBeanPropertyDefinition(AnnotatedMember)
com.fasterxml.jackson.databind.util.SimpleBeanPropertyDefinition(AnnotatedMember, String)
com.fasterxml.jackson.databind.util.SimpleBeanPropertyDefinition(AnnotatedMember, String, AnnotationIntrospector) Since 2.5 Use variant that takes PropertyName
com.fasterxml.jackson.databind.type.SimpleType(Class<?>, String[], JavaType[], Object, Object, boolean) Since 2.5 use variant that takes one more argument
com.fasterxml.jackson.databind.util.StdDateFormat(TimeZone) Since 2.4, use variant that also takes Locale
com.fasterxml.jackson.databind.util.TokenBuffer(ObjectCodec) since 2.3 preferred variant is one that takes `JsonParser` or additional boolean parameter.
com.fasterxml.jackson.databind.type.TypeBase(Class<?>, int, Object, Object) Since 2.2 use method that takes 'asStatic' argument
com.fasterxml.jackson.databind.deser.impl.ValueInjector(String, JavaType, Annotations, AnnotatedMember, Object)

Deprecated Enum Constants
Enum Constant and Description
com.fasterxml.jackson.databind.SerializationFeature.WRITE_BIGDECIMAL_AS_PLAIN Since 2.5: use `JsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAIN` directly (using `ObjectWriter.with(com.fasterxml.jackson.core.JsonGenerator.Feature)`).

Deprecated Annotation Type Elements
Annotation Type Element and Description
com.fasterxml.jackson.databind.annotation.JsonSerialize.include As of Jackson 2.0, this annotation has been replaced by `JsonInclude`
com.fasterxml.jackson.databind.jsonschema.JsonSerializableSchema.schemaItemDefinition (since 2.1) -- support will be dropped in future, since JSON-as-String is fundamentally bad way for customizing anything. No direct replacements offered.
com.fasterxml.jackson.databind.jsonschema.JsonSerializableSchema.schemaObjectPropertiesDefinition (since 2.1) -- support will be dropped in future, since JSON-as-String is fundamentally bad way for customizing anything. No direct replacements offered.