Spring Hateoas

org.springframework.hateoas.hal
Class Jackson2HalModule.OptionalListJackson2Serializer

java.lang.Object
  extended by com.fasterxml.jackson.databind.JsonSerializer<T>
      extended by com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
          extended by com.fasterxml.jackson.databind.ser.ContainerSerializer<Object>
              extended by org.springframework.hateoas.hal.Jackson2HalModule.OptionalListJackson2Serializer
All Implemented Interfaces:
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable, com.fasterxml.jackson.databind.jsonschema.SchemaAware, com.fasterxml.jackson.databind.ser.ContextualSerializer
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

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
Jackson2HalModule.OptionalListJackson2Serializer()
           
Jackson2HalModule.OptionalListJackson2Serializer(com.fasterxml.jackson.databind.BeanProperty property)
          Creates a new Jackson2HalModule.OptionalListJackson2Serializer using the given BeanProperty.
 
Method Summary
 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<?> getContentSerializer()
           
 com.fasterxml.jackson.databind.JavaType getContentType()
           
 boolean hasSingleElement(Object arg0)
           
 boolean isEmpty(Object arg0)
           
 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
acceptJsonFormatVisitor, createObjectNode, createSchemaNode, createSchemaNode, findConvertingContentSerializer, findPropertyFilter, getSchema, getSchema, handledType, isDefaultSerializer, wrapAndThrow, wrapAndThrow
 
Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer
getDelegatee, isUnwrappingSerializer, replaceDelegatee, serializeWithType, unwrappingSerializer, usesObjectId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Jackson2HalModule.OptionalListJackson2Serializer

public Jackson2HalModule.OptionalListJackson2Serializer()

Jackson2HalModule.OptionalListJackson2Serializer

public Jackson2HalModule.OptionalListJackson2Serializer(com.fasterxml.jackson.databind.BeanProperty property)
Creates a new Jackson2HalModule.OptionalListJackson2Serializer using the given BeanProperty.

Parameters:
property -
Method Detail

_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,
                      com.fasterxml.jackson.core.JsonGenerationException
Specified by:
serialize in class com.fasterxml.jackson.databind.ser.std.StdSerializer<Object>
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException

getContentSerializer

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

getContentType

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(Object arg0)
Specified by:
isEmpty in class com.fasterxml.jackson.databind.ser.ContainerSerializer<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

Spring Hateoas

Copyright © 2012-2014–2014 Pivotal, Inc.. All rights reserved.