Class EnumSerializer

    • Constructor Detail

      • EnumSerializer

        public EnumSerializer​(EnumValues v,
                              java.lang.Boolean serializeAsIndex)
    • Method Detail

      • createContextual

        public JsonSerializer<?> createContextual​(SerializerProvider serializers,
                                                  BeanProperty property)
                                           throws JsonMappingException
        To support some level of per-property configuration, we will need to make things contextual. We are limited to "textual vs index" choice here, however.
        Specified by:
        createContextual in interface ContextualSerializer
        Parameters:
        serializers - Serializer provider to use for accessing config, other serializers
        property - Method or field that represents the property (and is used to access value to serialize). Should be available; but there may be cases where caller cannot provide it and null is passed instead (in which case impls usually pass 'this' serializer as is)
        Returns:
        Serializer to use for serializing values of specified property; may be this instance or a new instance.
        Throws:
        JsonMappingException
      • getEnumValues

        public EnumValues getEnumValues()
      • serialize

        public final void serialize​(java.lang.Enum<?> en,
                                    JsonGenerator gen,
                                    SerializerProvider serializers)
                             throws java.io.IOException
        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<java.lang.Enum<?>>
        Parameters:
        en - Value to serialize; can not be null.
        gen - Generator used to output resulting Json content
        serializers - Provider that can be used to get serializers for serializing Objects value contains, if any.
        Throws:
        java.io.IOException
      • getSchema

        public JsonNode getSchema​(SerializerProvider provider,
                                  java.lang.reflect.Type typeHint)
        Description copied from class: StdSerializer
        Default implementation simply claims type is "string"; usually overriden by custom serializers.
        Specified by:
        getSchema in interface SchemaAware
        Overrides:
        getSchema in class StdScalarSerializer<java.lang.Enum<?>>
        Parameters:
        provider - The serializer provider.
        typeHint - A hint about the type.
        Returns:
        Json-schema for this serializer.