Package com.fasterxml.jackson.annotation

Public core annotations, most of which are used to configure how Data Mapping/Binding works.

See: Description

  • Interface Summary 
    Interface Description
    ObjectIdResolver
    Definition of API used for resolving actual Java object from Object Identifiers (as annotated using JsonIdentityInfo).
  • Class Summary 
    Class Description
    JsonFormat.Value
    Helper class used to contain information from a single JsonFormat annotation.
    JsonTypeInfo.None Deprecated
    Since 2.5, use Void instead.
    ObjectIdGenerator<T>
    Definition of API used for constructing Object Identifiers (as annotated using JsonIdentityInfo).
    ObjectIdGenerator.IdKey
    Simple key class that can be used as a key for ObjectId-to-POJO mappings, when multiple ObjectId types and scopes are used.
    ObjectIdGenerators
    Container class for standard ObjectIdGenerator implementations.
    ObjectIdGenerators.IntSequenceGenerator
    Simple sequence-number based generator, which uses basic Java ints (starting with value 1) as Object Identifiers.
    ObjectIdGenerators.None
    Abstract marker class used to allow explicitly specifying that no generator is used; which also implies that no Object Id is to be included or used.
    ObjectIdGenerators.PropertyGenerator
    Abstract place-holder class which is used to denote case where Object Identifier to use comes from a POJO property (getter method or field).
    ObjectIdGenerators.UUIDGenerator
    Implementation that just uses UUIDs as reliably unique identifiers: downside is that resulting String is 36 characters long.
    SimpleObjectIdResolver
    Simple implementation of ObjectIdResolver
  • Enum Summary 
    Enum Description
    JsonAutoDetect.Visibility
    Enumeration for possible visibility thresholds (minimum visibility) that can be used to limit which methods (and fields) are auto-detected.
    JsonCreator.Mode  
    JsonFormat.Shape
    Value enumeration used for indicating preferred Shape; translates loosely to JSON types, with some extra values to indicate less precise choices (i.e.
    JsonInclude.Include
    Enumeration used with JsonInclude to define which properties of Java Beans are to be included in serialization.
    JsonProperty.Access
    Various options for JsonProperty.access() property, specifying how property may be accessed during serialization ("read") and deserialization ("write") (note that the direction of read and write is from perspective of the property, not from external data format: this may be confusing in some contexts).
    JsonTypeInfo.As
    Definition of standard type inclusion mechanisms for type metadata.
    JsonTypeInfo.Id
    Definition of different type identifiers that can be included in JSON during serialization, and used for deserialization.
    OptBoolean
    Optional Boolean value ("nullean").
    PropertyAccessor
    Enumeration used to define kinds of elements (called "property accessors") that annotations like JsonAutoDetect apply to.
  • Annotation Types Summary 
    Annotation Type Description
    JacksonAnnotation
    Meta-annotation (annotations used on other annotations) used for marking all annotations that are part of Jackson package.
    JacksonAnnotationsInside
    Meta-annotation (annotations used on other annotations) used for indicating that instead of using target annotation (annotation annotated with this annotation), Jackson should use meta-annotations it has.
    JacksonInject
    Jackson-specific annotation used for indicating that value of annotated property will be "injected", i.e.
    JsonAnyGetter
    Marker annotation that can be used to define a non-static, no-argument method or member field as something of a reverse of JsonAnySetter method; basically being used like a getter but such that contents of the returned Map (type must be Map) are serialized as if they were actual properties of the bean that contains method/field with this annotations.
    JsonAnySetter
    Marker annotation that can be used to define a non-static, two-argument method (first argument name of property, second value to set), to be used as a "fallback" handler for all otherwise unrecognized properties found from JSON content.
    JsonAutoDetect
    Class annotation that can be used to define which kinds of Methods are to be detected by auto-detection, and with what minimum access level.
    JsonBackReference
    Annotation used to indicate that associated property is part of two-way linkage between fields; and that its role is "child" (or "back") link.
    JsonCreator
    Marker annotation that can be used to define constructors and factory methods as one to use for instantiating new instances of the associated class.
    JsonFilter
    Annotation used to indicate which logical filter is to be used for filtering out properties of type (class) annotated; association made by this annotation declaring ids of filters, and com.fasterxml.jackson.databind.ObjectMapper (or objects it delegates to) providing matching filters by id.
    JsonFormat
    General-purpose annotation used for configuring details of how values of properties are to be serialized.
    JsonGetter
    Marker annotation that can be used to define a non-static, no-argument value-returning (non-void) method to be used as a "getter" for a logical property.
    JsonIdentityInfo
    Annotation used for indicating that values of annotated type or property should be serializing so that instances either contain additional object identifier (in addition actual object properties), or as a reference that consists of an object id that refers to a full serialization.
    JsonIdentityReference
    Optional annotation that can be used for customizing details of a reference to Objects for which "Object Identity" is enabled (see JsonIdentityInfo).
    JsonIgnore
    Marker annotation that indicates that the annotated method or field is to be ignored by introspection-based serialization and deserialization functionality.
    JsonIgnoreProperties
    Annotation that can be used to either suppress serialization of properties (during serialization), or ignore processing of JSON properties read (during deserialization).
    JsonIgnoreType
    Marker annotation that indicates that all properties of annotated type are to be ignored during serialization and deserialization.
    JsonInclude
    Annotation used to indicate when value of the annotated property (when used for a field, method or constructor parameter), or all properties of the annotated class, is to be serialized.
    JsonManagedReference
    Annotation used to indicate that annotated property is part of two-way linkage between fields; and that its role is "parent" (or "forward") link.
    JsonProperty
    Marker annotation that can be used to define a non-static method as a "setter" or "getter" for a logical property (depending on its signature), or non-static object field to be used (serialized, deserialized) as a logical property.
    JsonPropertyDescription
    Annotation used to define a human readable description for a logical property.
    JsonPropertyOrder
    Annotation that can be used to define ordering (possibly partial) to use when serializing object properties.
    JsonRawValue
    Marker annotation that indicates that the annotated method or field should be serialized by including literal String value of the property as is, without quoting of characters.
    JsonRootName
    Annotation similar to XmlRootElement, used to indicate name to use for root-level wrapping, if wrapping is enabled.
    JsonSetter
    Marker annotation that can be used to define a non-static, single-argument method to be used as a "setter" for a logical property as an alternative to recommended JsonProperty annotation (which was introduced in version 1.1).
    JsonSubTypes
    Annotation used with JsonTypeInfo to indicate sub types of serializable polymorphic types, and to associate logical names used within JSON content (which is more portable than using physical Java class names).
    JsonSubTypes.Type
    Definition of a subtype, along with optional name.
    JsonTypeId
    Marker annotation that can be used on a property accessor (field, getter or setter, constructor parameter) to indicate that the property is to contain type id to use when including polymorphic type information.
    JsonTypeInfo
    Annotation used for configuring details of if and how type information is used with JSON serialization and deserialization, to preserve information about actual class of Object instances.
    JsonTypeName
    Annotation used for binding logical name that the annotated class has.
    JsonUnwrapped
    Annotation used to indicate that a property should be serialized "unwrapped"; that is, if it would be serialized as JSON Object, its properties are instead included as properties of its containing Object.
    JsonValue
    Marker annotation similar to XmlValue that indicates that results of the annotated "getter" method (which means signature must be that of getters; non-void return type, no args) is to be used as the single value to serialize for the instance.
    JsonView
    Annotation used for indicating view(s) that the property that is defined by method or field annotated is part of.

Package com.fasterxml.jackson.annotation Description

Public core annotations, most of which are used to configure how Data Mapping/Binding works. Annotations in this package can only have dependencies to non-annotation classes in Core package; annotations that have dependencies to Mapper classes are included in Mapper module (under org.codehaus.jackson.map.annotate). Also contains parameter types (mostly enums) needed by annotations.

Note that prior versions (1.x) contained these annotations within 'core' jar, as part of Streaming API.

Copyright © 2014-2015 FasterXML. All Rights Reserved.