Class OptimizedBeanPropertyWriter<T extends OptimizedBeanPropertyWriter<T>>

    • 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 com.fasterxml.jackson.core.SerializableString _fastName
      Locally stored version of efficiently serializable name.
      protected BeanPropertyAccessor _propertyAccessor  
      protected int _propertyIndex  
      protected boolean broken  
      protected com.fasterxml.jackson.databind.ser.BeanPropertyWriter fallbackWriter  
      • 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<java.lang.Object> ser)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected void _handleProblem​(java.lang.Object bean, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider prov, java.lang.Throwable t, boolean element)  
      protected void _reportProblem​(java.lang.Object bean, java.lang.Throwable e)  
      void assignNullSerializer​(com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> nullSer)  
      void assignSerializer​(com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> ser)  
      void assignTypeSerializer​(com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer)  
      protected boolean isDefaultSerializer​(com.fasterxml.jackson.databind.JsonSerializer<?> ser)
      Helper method used to check whether given serializer is the default serializer implementation: this is necessary to avoid overriding other kinds of deserializers.
      abstract void serializeAsElement​(java.lang.Object bean, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider prov)  
      abstract void serializeAsField​(java.lang.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 withAccessor​(BeanPropertyAccessor acc)  
      abstract com.fasterxml.jackson.databind.ser.BeanPropertyWriter withSerializer​(com.fasterxml.jackson.databind.JsonSerializer<java.lang.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 Detail

      • _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 Detail

      • OptimizedBeanPropertyWriter

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

      • 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<java.lang.Object> ser)
        Overrides:
        assignSerializer in class com.fasterxml.jackson.databind.ser.BeanPropertyWriter
      • assignNullSerializer

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

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

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

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

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

        protected void _reportProblem​(java.lang.Object bean,
                                      java.lang.Throwable e)
      • isDefaultSerializer

        protected boolean isDefaultSerializer​(com.fasterxml.jackson.databind.JsonSerializer<?> ser)
        Helper method used to check whether given serializer is the default serializer implementation: this is necessary to avoid overriding other kinds of deserializers.