Top Description Inners Fields Constructors Methods
tools.jackson.databind.ser.jdk

public Class NumberSerializer

extends StdScalarSerializer<Number>
Class Inheritance
Annotations
@JacksonStdImpl
Imports
java.math.BigDecimal, .BigInteger, com.fasterxml.jackson.annotation.JsonFormat, tools.jackson.core.JacksonException, .JsonGenerator, .JsonParser, .StreamWriteFeature, tools.jackson.databind.*, tools.jackson.databind.annotation.JacksonStdImpl, tools.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper, tools.jackson.databind.ser.std.StdScalarSerializer, .ToStringSerializer, .ToStringSerializerBase

As a fallback, we may need to use this serializer for other types of Numbers: both custom types and "big" numbers like BigInteger and BigDecimal.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class

Field Summary

Modifier and TypeField and Description
protected final boolean
public static final NumberSerializer
instance

Static instance that is only to be used for java.lang.Number.

protected static final int
MAX_BIG_DECIMAL_SCALE

Copied from `jackson-core` class `GeneratorBase`

Constructor Summary

AccessConstructor and Description
public
NumberSerializer(Class<? extends Number> rawType)

Method Summary

Modifier and TypeMethod and Description
public void
public static ValueSerializer<?>
public ValueSerializer<?>
createContextual(SerializationContext prov, BeanProperty property)

Overrides tools.jackson.databind.ValueSerializer.createContextual.

Method called to see if a different (or differently configured) serializer is needed to serialize values of specified property (or, for root values, in which case `null` is passed).

public void
serialize(Number value, JsonGenerator g, SerializationContext provider)

Implements abstract tools.jackson.databind.ser.std.StdSerializer.serialize.

Method that can be called to ask implementation to serialize values of type this serializer handles.

Inherited from tools.jackson.databind.ser.std.StdScalarSerializer:
serializeWithType

Field Detail

_isIntback to summary
protected final boolean _isInt
instanceback to summary
public static final NumberSerializer instance

Static instance that is only to be used for java.lang.Number.

MAX_BIG_DECIMAL_SCALEback to summary
protected static final int MAX_BIG_DECIMAL_SCALE

Copied from `jackson-core` class `GeneratorBase`

Constructor Detail

NumberSerializerback to summary
public NumberSerializer(Class<? extends Number> rawType)
Since
2.5

Method Detail

acceptJsonFormatVisitorback to summary
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)

Overrides tools.jackson.databind.ser.std.StdScalarSerializer.acceptJsonFormatVisitor.

Implements tools.jackson.databind.jsonFormatVisitors.JsonFormatVisitable.acceptJsonFormatVisitor.

Doc from tools.jackson.databind.ser.std.StdSerializer.acceptJsonFormatVisitor.

Default implementation specifies no format. This behavior is usually overriden by custom serializers.

Annotations
@Override
bigDecimalAsStringSerializerback to summary
public static ValueSerializer<?> bigDecimalAsStringSerializer()
Since
2.10
createContextualback to summary
public ValueSerializer<?> createContextual(SerializationContext prov, BeanProperty property)

Overrides tools.jackson.databind.ValueSerializer.createContextual.

Doc from tools.jackson.databind.ValueSerializer.createContextual.

Method called to see if a different (or differently configured) serializer is needed to serialize values of specified property (or, for root values, in which case `null` is passed). Note that instance that this method is called on is typically shared one and as a result method should NOT modify this instance but rather construct and return a new instance. This instance should only be returned as-is, in case it is already suitable for use.

Note that method is only called once per POJO property, and for the first usage as root value serializer; it is not called for every serialization, as doing that would have significant performance impact; most serializers cache contextual instances for future use.

Annotations
@Override
serializeback to summary
public void serialize(Number value, JsonGenerator g, SerializationContext provider) throws JacksonException

Implements abstract tools.jackson.databind.ser.std.StdSerializer.serialize.

Doc from tools.jackson.databind.ValueSerializer.serialize.

Method that can be called to ask implementation to serialize values of type this serializer handles.

Annotations
@Override
tools.jackson.databind.ser.jdk back to summary

pack-priv final Class NumberSerializer.BigDecimalAsStringSerializer

extends ToStringSerializerBase
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv static final NumberSerializer.BigDecimalAsStringSerializer

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected boolean
public boolean
isEmpty(SerializationContext prov, Object value)

Overrides tools.jackson.databind.ser.std.ToStringSerializerBase.isEmpty.

Method called to check whether given serializable value is considered "empty" value (for purposes of suppressing serialization of empty values).

public void
serialize(Object value, JsonGenerator gen, SerializationContext provider)

Overrides tools.jackson.databind.ser.std.ToStringSerializerBase.serialize.

Method that can be called to ask implementation to serialize values of type this serializer handles.

public String
Inherited from tools.jackson.databind.ser.std.ToStringSerializerBase:
acceptJsonFormatVisitorserializeWithType

Field Detail

BD_INSTANCEback to summary
pack-priv static final NumberSerializer.BigDecimalAsStringSerializer BD_INSTANCE

Constructor Detail

BigDecimalAsStringSerializerback to summary
public BigDecimalAsStringSerializer()

Method Detail

_verifyBigDecimalRangeback to summary
protected boolean _verifyBigDecimalRange(JsonGenerator gen, BigDecimal value)
isEmptyback to summary
public boolean isEmpty(SerializationContext prov, Object value)

Overrides tools.jackson.databind.ser.std.ToStringSerializerBase.isEmpty.

Doc from tools.jackson.databind.ValueSerializer.isEmpty.

Method called to check whether given serializable value is considered "empty" value (for purposes of suppressing serialization of empty values).

Default implementation will consider only null values to be empty.

Annotations
@Override
serializeback to summary
public void serialize(Object value, JsonGenerator gen, SerializationContext provider) throws JacksonException

Overrides tools.jackson.databind.ser.std.ToStringSerializerBase.serialize.

Doc from tools.jackson.databind.ValueSerializer.serialize.

Method that can be called to ask implementation to serialize values of type this serializer handles.

Annotations
@Override
valueToStringback to summary
public String valueToString(Object value)

Implements abstract tools.jackson.databind.ser.std.ToStringSerializerBase.valueToString.

Annotations
@Override