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
FieldsModifier and TypeFieldDescriptionprotected 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
ConstructorsModifierConstructorDescriptionprotected
OptimizedBeanPropertyWriter
(com.fasterxml.jackson.databind.ser.BeanPropertyWriter src, BeanPropertyAccessor propertyAccessor, int propertyIndex, com.fasterxml.jackson.databind.JsonSerializer<Object> ser) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
_handleProblem
(Object bean, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider prov, Throwable t, boolean element) protected void
_reportProblem
(Object bean, Throwable e) 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
-
Field Details
-
_propertyAccessor
-
_fastName
protected final com.fasterxml.jackson.core.SerializableString _fastNameLocally 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 classcom.fasterxml.jackson.databind.ser.BeanPropertyWriter
-
assignSerializer
- Overrides:
assignSerializer
in classcom.fasterxml.jackson.databind.ser.BeanPropertyWriter
-
assignNullSerializer
- Overrides:
assignNullSerializer
in classcom.fasterxml.jackson.databind.ser.BeanPropertyWriter
-
withAccessor
-
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 classcom.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 classcom.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
-