Serializers (Jackson JSON Processor)
Date: 2013-07-14

org.codehaus.jackson.map

## Interface Serializers

- All Known Implementing Classes:
    Serializers.Base, Serializers.None, SimpleSerializers

      public interface Serializers

  Interface that defines API for simple extensions that can provide additional serializers for various types. Access is by a single callback method; instance is to either return a configured `JsonSerializer` for specified type, or null to indicate that it does not support handling of the type. In latter case, further calls can be made for other providers; in former case returned serializer is used for handling of instances of specified type.
  Since:
    1.7

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `Serializers.Base` Basic `Serializers` implementation that implements all methods but provides no serializers.
    `static class` | `Serializers.None` Deprecated. As of 1.9, use `Serializers.Base` instead

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `JsonSerializer<?>` | `findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Method called by serialization framework first time a serializer is needed for specified array type.
    `JsonSerializer<?>` | `findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | `findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, BeanProperty property, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | `findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, BeanProperty property, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | `findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, BeanProperty property, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
    `JsonSerializer<?>` | `findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc, BeanProperty property)` Method called by serialization framework first time a serializer is needed for specified type, which is not of a container type (for which other methods are called).

- - ### Method Detail

    - #### findSerializer

          JsonSerializer<?> findSerializer(SerializationConfig config,
                                         JavaType type,
                                         BeanDescription beanDesc,
                                         BeanProperty property)

      Method called by serialization framework first time a serializer is needed for specified type, which is not of a container type (for which other methods are called).

      Note: in version 1.7, this method was called to find serializers for all type, including container types.

      Parameters:
        `type` - Fully resolved type of instances to serialize
        `config` - Serialization configuration in use
        `beanDesc` - Additional information about type; will always be of type `BasicBeanDescription` (that is, safe to cast to this more specific type)
        `property` - Property that contains values to serialize
      Returns:
        Configured serializer to use for the type; or null if implementation does not recognize or support type

    - #### findArraySerializer

          JsonSerializer<?> findArraySerializer(SerializationConfig config,
                                              ArrayType type,
                                              BeanDescription beanDesc,
                                              BeanProperty property,
                                              TypeSerializer elementTypeSerializer,
                                              JsonSerializer<Object> elementValueSerializer)

      Method called by serialization framework first time a serializer is needed for specified array type. Implementation should return a serializer instance if it supports specified type; or null if it does not.
      Since:
        1.8

    - #### findCollectionSerializer

          JsonSerializer<?> findCollectionSerializer(SerializationConfig config,
                                                   CollectionType type,
                                                   BeanDescription beanDesc,
                                                   BeanProperty property,
                                                   TypeSerializer elementTypeSerializer,
                                                   JsonSerializer<Object> elementValueSerializer)

    - #### findCollectionLikeSerializer

          JsonSerializer<?> findCollectionLikeSerializer(SerializationConfig config,
                                                       CollectionLikeType type,
                                                       BeanDescription beanDesc,
                                                       BeanProperty property,
                                                       TypeSerializer elementTypeSerializer,
                                                       JsonSerializer<Object> elementValueSerializer)

    - #### findMapSerializer

          JsonSerializer<?> findMapSerializer(SerializationConfig config,
                                            MapType type,
                                            BeanDescription beanDesc,
                                            BeanProperty property,
                                            JsonSerializer<Object> keySerializer,
                                            TypeSerializer elementTypeSerializer,
                                            JsonSerializer<Object> elementValueSerializer)

    - #### findMapLikeSerializer

          JsonSerializer<?> findMapLikeSerializer(SerializationConfig config,
                                                MapLikeType type,
                                                BeanDescription beanDesc,
                                                BeanProperty property,
                                                JsonSerializer<Object> keySerializer,
                                                TypeSerializer elementTypeSerializer,
                                                JsonSerializer<Object> elementValueSerializer)