Class NumberSerializer
- java.lang.Object
-
- com.fasterxml.jackson.databind.JsonSerializer<T>
-
- com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
-
- com.fasterxml.jackson.databind.ser.std.StdScalarSerializer<java.lang.Number>
-
- com.fasterxml.jackson.databind.ser.std.NumberSerializer
-
- All Implemented Interfaces:
JsonFormatVisitable
,SchemaAware
,ContextualSerializer
,java.io.Serializable
public class NumberSerializer extends StdScalarSerializer<java.lang.Number> implements ContextualSerializer
As a fallback, we may need to use this serializer for other types ofNumber
s: both custom types and "big" numbers likeBigInteger
andBigDecimal
.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer
JsonSerializer.None
-
-
Field Summary
Fields Modifier and Type Field Description static NumberSerializer
instance
Static instance that is only to be used forNumber
.
-
Constructor Summary
Constructors Constructor Description NumberSerializer(java.lang.Class<? extends java.lang.Number> rawType)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)
Default implementation specifies no format.static JsonSerializer<?>
bigDecimalAsStringSerializer()
JsonSerializer<?>
createContextual(SerializerProvider prov, BeanProperty property)
Method called to see if a different (or differently configured) serializer is needed to serialize values of specified property.JsonNode
getSchema(SerializerProvider provider, java.lang.reflect.Type typeHint)
Default implementation simply claims type is "string"; usually overriden by custom serializers.void
serialize(java.lang.Number value, JsonGenerator g, SerializerProvider provider)
Method that can be called to ask implementation to serialize values of type this serializer handles.-
Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdScalarSerializer
serializeWithType
-
Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
getSchema, handledType, wrapAndThrow, wrapAndThrow
-
Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer
getDelegatee, isEmpty, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, unwrappingSerializer, usesObjectId, withFilterId
-
-
-
-
Field Detail
-
instance
public static final NumberSerializer instance
Static instance that is only to be used forNumber
.
-
-
Method Detail
-
createContextual
public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property) throws JsonMappingException
Description copied from interface:ContextualSerializer
Method called to see if a different (or differently configured) serializer is needed to serialize values of specified property. 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.- Specified by:
createContextual
in interfaceContextualSerializer
- Parameters:
prov
- Serializer provider to use for accessing config, other serializersproperty
- Method or field that represents the property (and is used to access value to serialize). Should be available; but there may be cases where caller cannot provide it and null is passed instead (in which case impls usually pass 'this' serializer as is)- Returns:
- Serializer to use for serializing values of specified property; may be this instance or a new instance.
- Throws:
JsonMappingException
-
serialize
public void serialize(java.lang.Number value, JsonGenerator g, SerializerProvider provider) throws java.io.IOException
Description copied from class:JsonSerializer
Method that can be called to ask implementation to serialize values of type this serializer handles.- Specified by:
serialize
in classStdSerializer<java.lang.Number>
- Parameters:
value
- Value to serialize; can not be null.g
- Generator used to output resulting Json contentprovider
- Provider that can be used to get serializers for serializing Objects value contains, if any.- Throws:
java.io.IOException
-
getSchema
public JsonNode getSchema(SerializerProvider provider, java.lang.reflect.Type typeHint)
Description copied from class:StdSerializer
Default implementation simply claims type is "string"; usually overriden by custom serializers.- Specified by:
getSchema
in interfaceSchemaAware
- Overrides:
getSchema
in classStdScalarSerializer<java.lang.Number>
- Parameters:
provider
- The serializer provider.typeHint
- A hint about the type.- Returns:
- Json-schema for this serializer.
-
acceptJsonFormatVisitor
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException
Description copied from class:StdSerializer
Default implementation specifies no format. This behavior is usually overriden by custom serializers.- Specified by:
acceptJsonFormatVisitor
in interfaceJsonFormatVisitable
- Overrides:
acceptJsonFormatVisitor
in classStdScalarSerializer<java.lang.Number>
typeHint
- Type of element (entity like property) being visited- Throws:
JsonMappingException
-
bigDecimalAsStringSerializer
public static JsonSerializer<?> bigDecimalAsStringSerializer()
- Since:
- 2.10
-
-