Class Jackson2HalModule.OptionalListJackson2Serializer

java.lang.Object
com.fasterxml.jackson.databind.JsonSerializer<T>
com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
com.fasterxml.jackson.databind.ser.ContainerSerializer<Object>
org.springframework.hateoas.mediatype.hal.Jackson2HalModule.OptionalListJackson2Serializer
All Implemented Interfaces:
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable, com.fasterxml.jackson.databind.jsonschema.SchemaAware, com.fasterxml.jackson.databind.ser.ContextualSerializer, Serializable
Enclosing class:
Jackson2HalModule

public static class Jackson2HalModule.OptionalListJackson2Serializer extends com.fasterxml.jackson.databind.ser.ContainerSerializer<Object> implements com.fasterxml.jackson.databind.ser.ContextualSerializer
Custom JsonSerializer to render Link instances in HAL compatible JSON. Renders the Link as immediate object if we have a single one or as array if we have multiple ones.
Author:
Alexander Baetz, Oliver Gierke
See Also:
  • Nested Class Summary

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

    com.fasterxml.jackson.databind.JsonSerializer.None
  • Field Summary

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

    _handledType
  • Constructor Summary

    Constructors
    Constructor
    Description
    OptionalListJackson2Serializer(com.fasterxml.jackson.databind.BeanProperty property, HalConfiguration halConfiguration)
    Creates a new Jackson2HalModule.OptionalListJackson2Serializer using the given BeanProperty.
  • Method Summary

    Modifier and Type
    Method
    Description
    com.fasterxml.jackson.databind.ser.ContainerSerializer<?>
    _withValueTypeSerializer(com.fasterxml.jackson.databind.jsontype.TypeSerializer vts)
     
    com.fasterxml.jackson.databind.JsonSerializer<?>
    createContextual(com.fasterxml.jackson.databind.SerializerProvider provider, com.fasterxml.jackson.databind.BeanProperty property)
     
    com.fasterxml.jackson.databind.JsonSerializer<?>
     
    com.fasterxml.jackson.databind.JavaType
     
    boolean
     
    boolean
    isEmpty(com.fasterxml.jackson.databind.SerializerProvider provider, Object value)
     
    void
    serialize(Object value, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider provider)
     

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

    hasContentTypeAnnotation, withValueTypeSerializer

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

    _neitherNull, _nonEmpty, acceptJsonFormatVisitor, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow

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

    getDelegatee, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, serializeWithType, unwrappingSerializer, usesObjectId, withFilterId, withIgnoredProperties

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • _withValueTypeSerializer

      public com.fasterxml.jackson.databind.ser.ContainerSerializer<?> _withValueTypeSerializer(com.fasterxml.jackson.databind.jsontype.TypeSerializer vts)
      Specified by:
      _withValueTypeSerializer in class com.fasterxml.jackson.databind.ser.ContainerSerializer<Object>
    • serialize

      public void serialize(Object value, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider provider) throws IOException
      Specified by:
      serialize in class com.fasterxml.jackson.databind.ser.std.StdSerializer<Object>
      Throws:
      IOException
    • getContentSerializer

      @Nullable public com.fasterxml.jackson.databind.JsonSerializer<?> getContentSerializer()
      Specified by:
      getContentSerializer in class com.fasterxml.jackson.databind.ser.ContainerSerializer<Object>
    • getContentType

      @Nullable public com.fasterxml.jackson.databind.JavaType getContentType()
      Specified by:
      getContentType in class com.fasterxml.jackson.databind.ser.ContainerSerializer<Object>
    • hasSingleElement

      public boolean hasSingleElement(Object arg0)
      Specified by:
      hasSingleElement in class com.fasterxml.jackson.databind.ser.ContainerSerializer<Object>
    • isEmpty

      public boolean isEmpty(com.fasterxml.jackson.databind.SerializerProvider provider, Object value)
      Overrides:
      isEmpty in class com.fasterxml.jackson.databind.JsonSerializer<Object>
    • createContextual

      public com.fasterxml.jackson.databind.JsonSerializer<?> createContextual(com.fasterxml.jackson.databind.SerializerProvider provider, com.fasterxml.jackson.databind.BeanProperty property) throws com.fasterxml.jackson.databind.JsonMappingException
      Specified by:
      createContextual in interface com.fasterxml.jackson.databind.ser.ContextualSerializer
      Throws:
      com.fasterxml.jackson.databind.JsonMappingException