Class OptimizedBeanPropertyWriter<T extends OptimizedBeanPropertyWriter<T>>

java.lang.Object
com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase
com.fasterxml.jackson.databind.ser.PropertyWriter
com.fasterxml.jackson.databind.ser.BeanPropertyWriter
com.fasterxml.jackson.module.afterburner.ser.OptimizedBeanPropertyWriter<T>
All Implemented Interfaces:
com.fasterxml.jackson.databind.BeanProperty, com.fasterxml.jackson.databind.util.Named, Serializable
Direct Known Subclasses:
BooleanFieldPropertyWriter, BooleanMethodPropertyWriter, IntFieldPropertyWriter, IntMethodPropertyWriter, LongFieldPropertyWriter, LongMethodPropertyWriter, ObjectFieldPropertyWriter, ObjectMethodPropertyWriter, StringFieldPropertyWriter, StringMethodPropertyWriter

abstract class OptimizedBeanPropertyWriter<T extends OptimizedBeanPropertyWriter<T>> extends com.fasterxml.jackson.databind.ser.BeanPropertyWriter
Intermediate base class that is used for concrete per-type implementations
  • 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
    Modifier and Type
    Field
    Description
    protected final com.fasterxml.jackson.core.SerializableString
    Locally stored version of efficiently serializable name.
    protected final BeanPropertyAccessor
     
    protected final int
     
    protected boolean
     
    protected final com.fasterxml.jackson.databind.ser.BeanPropertyWriter
     

    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
    Modifier
    Constructor
    Description
    protected
    OptimizedBeanPropertyWriter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter src, BeanPropertyAccessor propertyAccessor, int propertyIndex, com.fasterxml.jackson.databind.JsonSerializer<Object> ser)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    _handleProblem(Object bean, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider prov, Throwable t, boolean element)
     
    protected void
     
    void
    assignNullSerializer(com.fasterxml.jackson.databind.JsonSerializer<Object> nullSer)
     
    void
    assignSerializer(com.fasterxml.jackson.databind.JsonSerializer<Object> ser)
     
    void
    assignTypeSerializer(com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer)
     
    abstract void
    serializeAsElement(Object bean, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider prov)
     
    abstract void
    serializeAsField(Object bean, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider prov)
     
    private com.fasterxml.jackson.databind.ser.BeanPropertyWriter
    unwrapFallbackWriter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter srcIn)
     
    abstract T
     
    abstract com.fasterxml.jackson.databind.ser.BeanPropertyWriter
    withSerializer(com.fasterxml.jackson.databind.JsonSerializer<Object> ser)
     

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

    _depositSchemaProperty, _findAndAddDynamic, _handleSelfReference, _new, 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, isVirtual

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • _propertyAccessor

      protected final BeanPropertyAccessor _propertyAccessor
    • _fastName

      protected final com.fasterxml.jackson.core.SerializableString _fastName
      Locally stored version of efficiently serializable name. Used to work around earlier problems with typing between interface, implementation
      Since:
      2.5
    • _propertyIndex

      protected final int _propertyIndex
    • fallbackWriter

      protected final com.fasterxml.jackson.databind.ser.BeanPropertyWriter fallbackWriter
    • broken

      protected boolean broken
  • Constructor Details

    • OptimizedBeanPropertyWriter

      protected OptimizedBeanPropertyWriter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter src, BeanPropertyAccessor propertyAccessor, int propertyIndex, com.fasterxml.jackson.databind.JsonSerializer<Object> ser)
  • Method Details

    • unwrapFallbackWriter

      private com.fasterxml.jackson.databind.ser.BeanPropertyWriter unwrapFallbackWriter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter srcIn)
    • assignTypeSerializer

      public void assignTypeSerializer(com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer)
      Overrides:
      assignTypeSerializer in class com.fasterxml.jackson.databind.ser.BeanPropertyWriter
    • assignSerializer

      public void assignSerializer(com.fasterxml.jackson.databind.JsonSerializer<Object> ser)
      Overrides:
      assignSerializer in class com.fasterxml.jackson.databind.ser.BeanPropertyWriter
    • assignNullSerializer

      public void assignNullSerializer(com.fasterxml.jackson.databind.JsonSerializer<Object> nullSer)
      Overrides:
      assignNullSerializer in class com.fasterxml.jackson.databind.ser.BeanPropertyWriter
    • withAccessor

      public abstract T withAccessor(BeanPropertyAccessor acc)
    • withSerializer

      public abstract com.fasterxml.jackson.databind.ser.BeanPropertyWriter withSerializer(com.fasterxml.jackson.databind.JsonSerializer<Object> ser)
    • serializeAsField

      public abstract void serializeAsField(Object bean, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider prov) throws Exception
      Overrides:
      serializeAsField in class com.fasterxml.jackson.databind.ser.BeanPropertyWriter
      Throws:
      Exception
    • serializeAsElement

      public abstract void serializeAsElement(Object bean, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider prov) throws Exception
      Overrides:
      serializeAsElement in class com.fasterxml.jackson.databind.ser.BeanPropertyWriter
      Throws:
      Exception
    • _handleProblem

      protected void _handleProblem(Object bean, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider prov, Throwable t, boolean element) throws Exception
      Throws:
      Exception
    • _reportProblem

      protected void _reportProblem(Object bean, Throwable e)