Top Fields Constructors Methods
com.fasterxml.jackson.databind.ser.std

public abstract Class DateTimeSerializerBase<T>

extends StdScalarSerializer<T>
implements ContextualSerializer
Class Inheritance
All Implemented Interfaces
com.fasterxml.jackson.databind.ser.ContextualSerializer
Known Direct Subclasses
com.fasterxml.jackson.databind.ser.std.SqlDateSerializer, com.fasterxml.jackson.databind.ser.std.CalendarSerializer, com.fasterxml.jackson.databind.ser.std.DateSerializer
Annotations
@SuppressWarnings:serial
Imports
java.io.IOException, java.lang.reflect.Type, java.text.DateFormat, .SimpleDateFormat, java.util.Date, .Locale, .TimeZone, java.util.concurrent.atomic.AtomicReference, com.fasterxml.jackson.annotation.JsonFormat, com.fasterxml.jackson.core.JsonGenerator, .JsonParser, com.fasterxml.jackson.databind.*, com.fasterxml.jackson.databind.jsonFormatVisitors.*, com.fasterxml.jackson.databind.ser.ContextualSerializer, com.fasterxml.jackson.databind.util.StdDateFormat

References Deprecated

StdScalarSerializer is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.

Field Summary

Modifier and TypeField and Description
protected final DateFormat
_customFormat

Specific format to use, if not default format: non null value also indicates that serialization is to be done as JSON String, not numeric timestamp, unless _useTimestamp is true.

protected final AtomicReference<DateFormat>
_reusedCustomFormat

If _customFormat is used, we will try to reuse instances in simplest possible form; thread-safe, but without overhead of ThreadLocal (not from code, but wrt retaining of possibly large number of format instances over all threads, properties with custom formats).

protected final Boolean
_useTimestamp

Flag that indicates that serialization must be done as the Java timestamp, regardless of other settings.

Constructor Summary

AccessConstructor and Description
protected
DateTimeSerializerBase(Class<T> type, Boolean useTimestamp, DateFormat customFormat)

Method Summary

Modifier and TypeMethod and Description
protected void
_acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint, boolean asNumber)

protected boolean
protected void
protected abstract long
_timestamp(T value)

public void
public JsonSerializer<?>
createContextual(SerializerProvider
Serializer provider to use for accessing config, other serializers
serializers
,
BeanProperty
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)
property
)

Implements com.fasterxml.jackson.databind.ser.ContextualSerializer.createContextual.

Method called to see if a different (or differently configured) serializer is needed to serialize values of specified property.

public JsonNode
getSchema(SerializerProvider
The serializer provider.
serializers
,
Type
A hint about the type.
typeHint
)

Overrides com.fasterxml.jackson.databind.ser.std.StdScalarSerializer.getSchema.

Implements com.fasterxml.jackson.databind.jsonschema.SchemaAware.getSchema.

Deprecated Since 2.15

Default implementation simply claims type is "string"; usually overriden by custom serializers.

public boolean
isEmpty(SerializerProvider serializers, T value)

Overrides com.fasterxml.jackson.databind.JsonSerializer.isEmpty.

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

public abstract void
serialize(T
Value to serialize; can not be null.
value
,
JsonGenerator
Generator used to output resulting Json content
gen
,
SerializerProvider
Provider that can be used to get serializers for serializing Objects value contains, if any.
serializers
)

Implements abstract com.fasterxml.jackson.databind.ser.std.StdSerializer.serialize.

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

public abstract DateTimeSerializerBase<T>
withFormat(Boolean timestamp, DateFormat customFormat)
References Deprecated DateTimeSerializerBase is deprecated or references (maybe indirectly) at least one deprecated element.

Inherited from com.fasterxml.jackson.databind.ser.std.StdScalarSerializer:
serializeWithType

Field Detail

_customFormatback to summary
protected final DateFormat _customFormat

Specific format to use, if not default format: non null value also indicates that serialization is to be done as JSON String, not numeric timestamp, unless _useTimestamp is true.

_reusedCustomFormatback to summary
protected final AtomicReference<DateFormat> _reusedCustomFormat

If _customFormat is used, we will try to reuse instances in simplest possible form; thread-safe, but without overhead of ThreadLocal (not from code, but wrt retaining of possibly large number of format instances over all threads, properties with custom formats).

Since
2.9
_useTimestampback to summary
protected final Boolean _useTimestamp

Flag that indicates that serialization must be done as the Java timestamp, regardless of other settings.

Constructor Detail

DateTimeSerializerBaseback to summary
protected DateTimeSerializerBase(Class<T> type, Boolean useTimestamp, DateFormat customFormat)

Method Detail

_acceptJsonFormatVisitorback to summary
protected void _acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint, boolean asNumber) throws JsonMappingException
_asTimestampback to summary
protected boolean _asTimestamp(SerializerProvider serializers)
_serializeAsStringback to summary
protected void _serializeAsString(Date value, JsonGenerator g, SerializerProvider provider) throws IOException
Since
2.9
_timestampback to summary
protected abstract long _timestamp(T value)
acceptJsonFormatVisitorback to summary
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException

Overrides com.fasterxml.jackson.databind.ser.std.StdScalarSerializer.acceptJsonFormatVisitor.

Implements com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable.acceptJsonFormatVisitor.

Doc from com.fasterxml.jackson.databind.ser.std.StdSerializer.acceptJsonFormatVisitor.

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

Parameters
typeHint:JavaType

Doc from com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable.acceptJsonFormatVisitor.

Type of element (entity like property) being visited

Annotations
@Override
createContextualback to summary
public JsonSerializer<?> createContextual(SerializerProvider serializers, BeanProperty property) throws JsonMappingException

Implements com.fasterxml.jackson.databind.ser.ContextualSerializer.createContextual.

Doc from com.fasterxml.jackson.databind.ser.ContextualSerializer.createContextual.

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.

Parameters
serializers:SerializerProvider

Serializer provider to use for accessing config, other serializers

property:BeanProperty

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:JsonSerializer<?>

Serializer to use for serializing values of specified property; may be this instance or a new instance.

Annotations
@Override
getSchemaback to summary
public JsonNode getSchema(SerializerProvider serializers, Type typeHint)

Overrides com.fasterxml.jackson.databind.ser.std.StdScalarSerializer.getSchema.

Implements com.fasterxml.jackson.databind.jsonschema.SchemaAware.getSchema.

Doc from com.fasterxml.jackson.databind.ser.std.StdSerializer.getSchema.

Deprecated

Since 2.15

Default implementation simply claims type is "string"; usually overriden by custom serializers.

Parameters
serializers:SerializerProvider

Doc from com.fasterxml.jackson.databind.jsonschema.SchemaAware.getSchema.

The serializer provider.

typeHint:Type

Doc from com.fasterxml.jackson.databind.jsonschema.SchemaAware.getSchema.

A hint about the type.

Returns:JsonNode

Doc from com.fasterxml.jackson.databind.jsonschema.SchemaAware.getSchema.

Json-schema for this serializer.

Annotations
@Deprecated
@Override
isEmptyback to summary
public boolean isEmpty(SerializerProvider serializers, T value)

Overrides com.fasterxml.jackson.databind.JsonSerializer.isEmpty.

Doc from com.fasterxml.jackson.databind.JsonSerializer.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.

Note

replaces isEmpty(Object), which was deprecated in 2.5

Annotations
@Override
serializeback to summary
public abstract void serialize(T value, JsonGenerator gen, SerializerProvider serializers) throws IOException

Implements abstract com.fasterxml.jackson.databind.ser.std.StdSerializer.serialize.

Doc from com.fasterxml.jackson.databind.JsonSerializer.serialize.

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

Parameters
value:T

Value to serialize; can not be null.

gen:JsonGenerator

Generator used to output resulting Json content

serializers:SerializerProvider

Provider that can be used to get serializers for serializing Objects value contains, if any.

Annotations
@Override
withFormatback to summary
public abstract DateTimeSerializerBase<T> withFormat(Boolean timestamp, DateFormat customFormat)

References Deprecated

DateTimeSerializerBase is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.