com.fasterxml.jackson.databind.ser.std

## Class ArraySerializerBase<T>

- java.lang.Object
- - com.fasterxml.jackson.databind.JsonSerializer<T>
  - - com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
    - - com.fasterxml.jackson.databind.ser.ContainerSerializer<T>
      - - com.fasterxml.jackson.databind.ser.std.ArraySerializerBase<T>

- Type Parameters:
    `T` - Type of arrays serializer handles
  All Implemented Interfaces:
    JsonFormatVisitable, SchemaAware
  Direct Known Subclasses:
    ObjectArraySerializer, StdArraySerializers.BooleanArraySerializer, StdArraySerializers.DoubleArraySerializer, StdArraySerializers.IntArraySerializer, StdArraySerializers.TypedPrimitiveArraySerializer, StringArraySerializer

      public abstract class ArraySerializerBase<T>
      extends ContainerSerializer<T>

  Intermediate base class for serializers used for various Java arrays.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer

      `JsonSerializer.None`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected BeanProperty` | `_property`

    - ### Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

      `_handledType`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ArraySerializerBase(ArraySerializerBase<?> src)`
    `protected` | `ArraySerializerBase(ArraySerializerBase<?> src, BeanProperty property)`
    `protected` | `ArraySerializerBase(Class<T> cls)`
    `protected` | `ArraySerializerBase(Class<T> cls, BeanProperty property)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `serialize(T value, JsonGenerator jgen, SerializerProvider provider)` Method that can be called to ask implementation to serialize values of type this serializer handles.
    `protected abstract void` | `serializeContents(T value, JsonGenerator jgen, SerializerProvider provider)`
    `void` | `serializeWithType(T value, JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)` Method that can be called to ask implementation to serialize values of type this serializer handles, using specified type serializer for embedding necessary type information.

    - ### Methods inherited from class com.fasterxml.jackson.databind.ser.ContainerSerializer

      `_withValueTypeSerializer, getContentSerializer, getContentType, hasContentTypeAnnotation, hasSingleElement, isEmpty, withValueTypeSerializer`

    - ### Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

      `acceptJsonFormatVisitor, createObjectNode, createSchemaNode, createSchemaNode, findConvertingContentSerializer, findPropertyFilter, getSchema, getSchema, handledType, isDefaultSerializer, wrapAndThrow, wrapAndThrow`

    - ### Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer

      `getDelegatee, isUnwrappingSerializer, replaceDelegatee, unwrappingSerializer, usesObjectId`

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

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

- - ### Field Detail

    - #### _property

          protected final BeanProperty _property

  - ### Constructor Detail

    - #### ArraySerializerBase

          protected ArraySerializerBase(Class<T> cls)

    - #### ArraySerializerBase

          protected ArraySerializerBase(Class<T> cls,
                             BeanProperty property)

    - #### ArraySerializerBase

          protected ArraySerializerBase(ArraySerializerBase<?> src)

    - #### ArraySerializerBase

          protected ArraySerializerBase(ArraySerializerBase<?> src,
                             BeanProperty property)

  - ### Method Detail

    - #### serialize

          public final void serialize(T value,
                       JsonGenerator jgen,
                       SerializerProvider provider)
                               throws IOException,
                                      JsonGenerationException

      Description copied from class: `JsonSerializer`
      Method that can be called to ask implementation to serialize values of type this serializer handles.
      Specified by:
        `serialize` in class `StdSerializer<T>`
      Parameters:
        `value` - Value to serialize; can not be null.
        `jgen` - Generator used to output resulting Json content
        `provider` - Provider that can be used to get serializers for serializing Objects value contains, if any.
      Throws:
        `IOException`
        `JsonGenerationException`

    - #### serializeWithType

          public final void serializeWithType(T value,
                               JsonGenerator jgen,
                               SerializerProvider provider,
                               TypeSerializer typeSer)
                                       throws IOException,
                                              JsonGenerationException

      Description copied from class: `JsonSerializer`
      Method that can be called to ask implementation to serialize values of type this serializer handles, using specified type serializer for embedding necessary type information.

      Default implementation will throw `UnsupportedOperationException` to indicate that proper type handling needs to be implemented.

      For simple datatypes written as a single scalar value (JSON String, Number, Boolean), implementation would look like:

            // note: method to call depends on whether this type is serialized as JSON scalar, object or Array!
            typeSer.writeTypePrefixForScalar(value, jgen);
            serialize(value, jgen, provider);
            typeSer.writeTypeSuffixForScalar(value, jgen);

      and implementations for type serialized as JSON Arrays or Objects would differ slightly, as `START-ARRAY>/`END-ARRAY` and `START-OBJECT>/`END-OBJECT` pairs need to be properly handled with respect to serializing of contents.``
      Overrides:
        `serializeWithType` in class `JsonSerializer<T>`
      Parameters:
        `value` - Value to serialize; can not be null.
        `jgen` - Generator used to output resulting Json content
        `provider` - Provider that can be used to get serializers for serializing Objects value contains, if any.
        `typeSer` - Type serializer to use for including type information
      Throws:
        `IOException`
        `JsonGenerationException`

    - #### serializeContents

          protected abstract void serializeContents(T value,
                               JsonGenerator jgen,
                               SerializerProvider provider)
                                             throws IOException,
                                                    JsonGenerationException

      Throws:
        `IOException`
        `JsonGenerationException`

Copyright © 2012-2013 FasterXML. All Rights Reserved.