T - Type to serialize.CalendarTypeSerializer, DateTypeSerializer, InstantTypeSerializer, LocalDateTimeTypeSerializer, LocalDateTypeSerializer, LocalTimeTypeSerializer, OffsetDateTimeTypeSerializer, OffsetTimeTypeSerializer, ZonedDateTimeTypeSerializerpublic abstract class AbstractDateTimeSerializer<T> extends AbstractValueTypeSerializer<T>
| Modifier and Type | Field | Description |
|---|---|---|
static ZoneId |
UTC |
model| Constructor | Description |
|---|---|
AbstractDateTimeSerializer(JsonBindingModel model) |
Construct serializer with its class.
|
| Modifier and Type | Method | Description |
|---|---|---|
protected abstract String |
formatDefault(T value,
Locale locale) |
Format with default formatter for a given
java.time date object. |
protected String |
formatStrictIJson(T value) |
Format date object as strict IJson date format.
|
protected String |
formatWithFormatter(T value,
DateTimeFormatter formatter) |
Format date object with given formatter
|
protected JsonbDateFormatter |
getJsonbDateFormatter() |
|
protected DateTimeFormatter |
getZonedFormatter(DateTimeFormatter formatter) |
Append UTC zone in case zone is not set on formatter.
|
protected void |
serialize(T obj,
javax.json.stream.JsonGenerator generator,
String key,
Marshaller marshaller) |
|
void |
serialize(T obj,
javax.json.stream.JsonGenerator generator,
javax.json.bind.serializer.SerializationContext ctx) |
Serializes an object to JSON.
|
protected void |
serialize(T obj,
javax.json.stream.JsonGenerator generator,
Marshaller marshaller) |
|
protected abstract Instant |
toInstant(T value) |
Convert java.time object to epoch milliseconds instant.
|
String |
toJson(T object,
JsonbDateFormatter formatter,
JsonbContext jsonbContext) |
Converts to JSON string.
|
protected TemporalAccessor |
toTemporalAccessor(T object) |
Convert date object to
TemporalAccessor
Only for legacy dates. |
public static final ZoneId UTC
public AbstractDateTimeSerializer(JsonBindingModel model)
model - Binding model.public void serialize(T obj, javax.json.stream.JsonGenerator generator, javax.json.bind.serializer.SerializationContext ctx)
AbstractValueTypeSerializerserialize in class AbstractValueTypeSerializer<T>obj - Object to serialize.generator - JSON generator to use.ctx - JSON-B mapper context.public String toJson(T object, JsonbDateFormatter formatter, JsonbContext jsonbContext)
object - Object to convert.formatter - Formatter to use.jsonbContext - JSON-B context.protected JsonbDateFormatter getJsonbDateFormatter()
protected DateTimeFormatter getZonedFormatter(DateTimeFormatter formatter)
formatter - formatterprotected TemporalAccessor toTemporalAccessor(T object)
TemporalAccessor
Only for legacy dates.object - date objectTemporalAccessorprotected abstract Instant toInstant(T value)
value - date object to convertprotected abstract String formatDefault(T value, Locale locale)
java.time date object.
Different default formatter for each date object type is used.value - date objectlocale - locale from annotation / default not nullprotected String formatWithFormatter(T value, DateTimeFormatter formatter)
value - date object to formatformatter - formatter to format withprotected String formatStrictIJson(T value)
value - value to formatprotected void serialize(T obj, javax.json.stream.JsonGenerator generator, String key, Marshaller marshaller)
serialize in class AbstractValueTypeSerializer<T>protected void serialize(T obj, javax.json.stream.JsonGenerator generator, Marshaller marshaller)
serialize in class AbstractValueTypeSerializer<T>Copyright © 2017 Oracle Corporation. All rights reserved.