org.codehaus.jackson.jaxrs

## Class JacksonJaxbJsonProvider

- java.lang.Object
- - org.codehaus.jackson.jaxrs.JacksonJsonProvider
  - - org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider

- All Implemented Interfaces:
    MessageBodyReader<Object>, MessageBodyWriter<Object>, Versioned

      @Provider
      public class JacksonJaxbJsonProvider
      extends JacksonJsonProvider

  JSON content type provider automatically configured to use both Jackson and JAXB annotations (in that order of priority). Otherwise functionally same as `JacksonJsonProvider`.

  Typical usage pattern is to just instantiate instance of this provider for JAX-RS and use as is: this will use both Jackson and JAXB annotations (with Jackson annotations having priority).

  Note: class annotations are duplicated from super class, since it is not clear whether JAX-RS implementations are required to check settings of super-classes. It is important to keep annotations in sync if changed.

  Since:
    1.3

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Annotations[]` | `DEFAULT_ANNOTATIONS` Default annotation sets to use, if not explicitly defined during construction: use Jackson annotations if found; if not, use JAXB annotations as fallback.

    - ### Fields inherited from class org.codehaus.jackson.jaxrs.JacksonJsonProvider

      `_cfgCheckCanDeserialize, _cfgCheckCanSerialize, _cfgCustomUntouchables, _jsonpFunctionName, _mapperConfig, _providers, _unreadableClasses, _untouchables, _unwritableClasses, BASIC_ANNOTATIONS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JacksonJaxbJsonProvider()` Default constructor, usually used when provider is automatically configured to be used with JAX-RS implementation.
    `JacksonJaxbJsonProvider(Annotations... annotationsToUse)`
    `JacksonJaxbJsonProvider(ObjectMapper mapper, Annotations[] annotationsToUse)` Constructor to use when a custom mapper (usually components like serializer/deserializer factories that have been configured) is to be used.

  - ### Method Summary

    - ### Methods inherited from class org.codehaus.jackson.jaxrs.JacksonJsonProvider

      `_containedIn, _findView, addUntouchable, checkCanDeserialize, checkCanSerialize, configure, configure, configure, configure, disable, disable, disable, disable, enable, enable, enable, enable, findEncoding, getSize, isJsonType, isReadable, isWriteable, locateMapper, readFrom, setAnnotationsToUse, setJSONPFunctionName, setMapper, version, writeTo`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_ANNOTATIONS

          public static final Annotations[] DEFAULT_ANNOTATIONS

      Default annotation sets to use, if not explicitly defined during construction: use Jackson annotations if found; if not, use JAXB annotations as fallback.

  - ### Constructor Detail

    - #### JacksonJaxbJsonProvider

          public JacksonJaxbJsonProvider()

      Default constructor, usually used when provider is automatically configured to be used with JAX-RS implementation.

    - #### JacksonJaxbJsonProvider

          public JacksonJaxbJsonProvider(Annotations... annotationsToUse)

      Parameters:
        `annotationsToUse` - Annotation set(s) to use for configuring data binding

    - #### JacksonJaxbJsonProvider

          public JacksonJaxbJsonProvider(ObjectMapper mapper,
                                 Annotations[] annotationsToUse)

      Constructor to use when a custom mapper (usually components like serializer/deserializer factories that have been configured) is to be used.