Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.fasterxml.jackson.databind.ser.impl
Class IndexedListSerializer

    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.AsArraySerializerBase<List<?>>
                      com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer

All Implemented Interfaces:
  JsonFormatVisitable, SchemaAware, ContextualSerializer

    public final class IndexedListSerializer

extends AsArraySerializerBase<List<?>>

This is an optimized serializer for Lists that can be efficiently traversed by index (as opposed to others, such as `LinkedList` that can not}.

Nested Class Summary

Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer
`JsonSerializer.None`

Field Summary

Fields inherited from class com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase
`_dynamicSerializers, _elementSerializer, _elementType, _property, _staticTyping, _valueTypeSerializer`

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

Constructor Summary
`IndexedListSerializer(IndexedListSerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSerializer)`
`IndexedListSerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts, BeanProperty property, JsonSerializer<Object> valueSerializer)`

Method Summary
`ContainerSerializer<?>` | `_withValueTypeSerializer(TypeSerializer vts)` Method that needs to be implemented to allow construction of a new serializer object with given `TypeSerializer`, used when addition type information is to be embedded.
`boolean` | `hasSingleElement(List<?> value)` Method called to determine if the given value (of type handled by this serializer) contains exactly one element.
`boolean` | `isEmpty(List<?> value)` Method called to check whether given serializable value is considered "empty" value (for purposes of suppressing serialization of empty values).
`void` | `serializeContents(List<?> value, JsonGenerator jgen, SerializerProvider provider)`
`void` | `serializeContentsUsing(List<?> value, JsonGenerator jgen, SerializerProvider provider, JsonSerializer<Object> ser)`
`void` | `serializeTypedContents(List<?> value, JsonGenerator jgen, SerializerProvider provider)`
`IndexedListSerializer` | `withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer)`

Methods inherited from class com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase
`_findAndAddDynamic, _findAndAddDynamic, acceptJsonFormatVisitor, createContextual, getContentSerializer, getContentType, getSchema, serialize, serializeWithType`

Methods inherited from class com.fasterxml.jackson.databind.ser.ContainerSerializer
`hasContentTypeAnnotation, withValueTypeSerializer`

Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
`createObjectNode, createSchemaNode, createSchemaNode, 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`

Constructor Detail

### IndexedListSerializer

    public IndexedListSerializer(JavaType elemType,
                                 boolean staticTyping,
                                 TypeSerializer vts,
                                 BeanProperty property,
                                 JsonSerializer<Object> valueSerializer)

### IndexedListSerializer

    public IndexedListSerializer(IndexedListSerializer src,
                                 BeanProperty property,
                                 TypeSerializer vts,
                                 JsonSerializer<?> valueSerializer)

Method Detail

### withResolved

    public IndexedListSerializer withResolved(BeanProperty property,
                                              TypeSerializer vts,
                                              JsonSerializer<?> elementSerializer)

  Specified by:
    `withResolved` in class `AsArraySerializerBase<List<?>>`

### isEmpty

    public boolean isEmpty(List<?> value)

  Description copied from class: `JsonSerializer`
  Method called to check whether given serializable value is considered "empty" value (for purposes of suppressing serialization of empty values).

  Default implementation will consider only null values to be empty.

  Specified by:
    `isEmpty` in class `ContainerSerializer<List<?>>`

### hasSingleElement

    public boolean hasSingleElement(List<?> value)

  Description copied from class: `ContainerSerializer`
  Method called to determine if the given value (of type handled by this serializer) contains exactly one element.

  Note: although it might seem sensible to instead define something like "getElementCount()" method, this would not work well for containers that do not keep track of size (like linked lists may not).

  Specified by:
    `hasSingleElement` in class `ContainerSerializer<List<?>>`

### _withValueTypeSerializer

    public ContainerSerializer<?> _withValueTypeSerializer(TypeSerializer vts)

  Description copied from class: `ContainerSerializer`
  Method that needs to be implemented to allow construction of a new serializer object with given `TypeSerializer`, used when addition type information is to be embedded.

  Specified by:
    `_withValueTypeSerializer` in class `ContainerSerializer<List<?>>`

### serializeContents

    public void serializeContents(List<?> value,
                                  JsonGenerator jgen,
                                  SerializerProvider provider)
                           throws IOException,
                                  JsonGenerationException

  Specified by:
    `serializeContents` in class `AsArraySerializerBase<List<?>>`
  Throws:
    `IOException`
    `JsonGenerationException`

### serializeContentsUsing

    public void serializeContentsUsing(List<?> value,
                                       JsonGenerator jgen,
                                       SerializerProvider provider,
                                       JsonSerializer<Object> ser)
                                throws IOException,
                                       JsonGenerationException

  Throws:
    `IOException`
    `JsonGenerationException`

### serializeTypedContents

    public void serializeTypedContents(List<?> value,
                                       JsonGenerator jgen,
                                       SerializerProvider provider)
                                throws IOException,
                                       JsonGenerationException

  Throws:
    `IOException`
    `JsonGenerationException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2012 FasterXML. All Rights Reserved.