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
`protected BeanProperty` `_property`

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

`_handledType`

### Constructor Summary

Constructors
`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
`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`