Package org.codehaus.jackson.annotate

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

See:
          Description

Class Summary
JsonTypeInfo.None This marker class that is only to be used with defaultImpl annotation property, to indicate that there is no default implementation specified.
 

Enum Summary
JsonAutoDetect.Visibility Enumeration for possible visibility thresholds (minimum visibility) that can be used to limit which methods (and fields) are auto-detected.
JsonMethod Enumeration used to define kinds of methods that annotations like JsonAutoDetect apply to.
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.
 

Annotation Types Summary
JacksonAnnotation Meta-annotation (annotations used on other annotations) used for marking all annotations that are part of Jackson package.
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, single-argument method, 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.
JsonGetter Deprecated. Use JsonProperty instead (deprecated since version 1.5)
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.
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.
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.
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.
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.
JsonWriteNullProperties Deprecated. (since 1.6) Currently recommended annotation to use is JsonSerialize.include() (with values ALWAYS or NON_NULL)
 

Package org.codehaus.jackson.annotate 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.

In future (version 2.0?), this package will probably be split off as a separate jar/module, to allow use of annotations without including core module. This would be useful for third party value classes that themselves do not depend on Jackson, but may want to be annotated to be automatically and conveniently serializable by Jackson.