com.fasterxml.jackson.annotation (Jackson-annotations 2.4.0 API)
Date: 2014-05-29

# 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 constructing POJO 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.4, 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 `int`s (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 `UUID`s 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.
  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.
  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.
  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.
  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 | Annotaion 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 FasterXML. All Rights Reserved.