Class JsonClassNameWriter

  • All Implemented Interfaces:
    com.fasterxml.jackson.databind.BeanProperty, com.fasterxml.jackson.databind.util.Named, Serializable

    public class JsonClassNameWriter
    extends com.fasterxml.jackson.databind.ser.VirtualBeanPropertyWriter
    The ClassNameWriter is applied to BasicModel and it instructs Jackson to to include class simple name as a virtual property. This is so we don't need to rely on JsonTypeId, which complicates object deserialization.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.BeanProperty

        com.fasterxml.jackson.databind.BeanProperty.Bogus, com.fasterxml.jackson.databind.BeanProperty.Std
    • Field Summary

      • Fields inherited from class com.fasterxml.jackson.databind.ser.BeanPropertyWriter

        _accessorMethod, _cfgSerializationType, _contextAnnotations, _declaredType, _dynamicSerializers, _field, _includeInViews, _internalSettings, _member, _name, _nonTrivialBaseType, _nullSerializer, _serializer, _suppressableValue, _suppressNulls, _typeSerializer, _wrapperName, MARKER_FOR_EMPTY
      • Fields inherited from class com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase

        _aliases, _metadata
      • Fields inherited from interface com.fasterxml.jackson.databind.BeanProperty

        EMPTY_FORMAT, EMPTY_INCLUDE
    • Constructor Summary

      Constructors 
      Constructor Description
      JsonClassNameWriter()
      Default constructor.
      JsonClassNameWriter​(com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition propDef, com.fasterxml.jackson.databind.util.Annotations annotations, com.fasterxml.jackson.databind.JavaType type)
      Instantiates a new current permissions writer.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected Object value​(Object bean, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider prov)  
      com.fasterxml.jackson.databind.ser.VirtualBeanPropertyWriter withConfig​(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedClass declaringClass, com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition propDef, com.fasterxml.jackson.databind.JavaType type)  
      • Methods inherited from class com.fasterxml.jackson.databind.ser.VirtualBeanPropertyWriter

        _suppressableValue, _suppressNulls, isVirtual, serializeAsElement, serializeAsField
      • Methods inherited from class com.fasterxml.jackson.databind.ser.BeanPropertyWriter

        _depositSchemaProperty, _findAndAddDynamic, _handleSelfReference, _new, assignNullSerializer, assignSerializer, assignTypeSerializer, depositSchemaProperty, depositSchemaProperty, fixAccess, get, getAnnotation, getContextAnnotation, getFullName, getGenericPropertyType, getInternalSetting, getMember, getName, getPropertyType, getRawSerializationType, getSerializationType, getSerializedName, getSerializer, getType, getTypeSerializer, getViews, getWrapperName, hasNullSerializer, hasSerializer, isUnwrapping, removeInternalSetting, rename, serializeAsOmittedField, serializeAsPlaceholder, setInternalSetting, setNonTrivialBaseType, toString, unwrappingWriter, willSuppressNulls, wouldConflictWithName
      • Methods inherited from class com.fasterxml.jackson.databind.ser.PropertyWriter

        findAnnotation
      • Methods inherited from class com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase

        findAliases, findFormatOverrides, findPropertyFormat, findPropertyInclusion, getMetadata, isRequired
    • Constructor Detail

      • JsonClassNameWriter

        public JsonClassNameWriter()
        Default constructor.
      • JsonClassNameWriter

        public JsonClassNameWriter​(com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition propDef,
                                   com.fasterxml.jackson.databind.util.Annotations annotations,
                                   com.fasterxml.jackson.databind.JavaType type)
        Instantiates a new current permissions writer.
        Parameters:
        propDef - the prop def
        annotations - the annotations
        type - the type
    • Method Detail

      • value

        protected Object value​(Object bean,
                               com.fasterxml.jackson.core.JsonGenerator gen,
                               com.fasterxml.jackson.databind.SerializerProvider prov)
                        throws Exception
        Specified by:
        value in class com.fasterxml.jackson.databind.ser.VirtualBeanPropertyWriter
        Throws:
        Exception
      • withConfig

        public com.fasterxml.jackson.databind.ser.VirtualBeanPropertyWriter withConfig​(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config,
                                                                                       com.fasterxml.jackson.databind.introspect.AnnotatedClass declaringClass,
                                                                                       com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition propDef,
                                                                                       com.fasterxml.jackson.databind.JavaType type)
        Specified by:
        withConfig in class com.fasterxml.jackson.databind.ser.VirtualBeanPropertyWriter