Skip to content

Package: IsoDateTimeSerializer

IsoDateTimeSerializer

nameinstructionbranchcomplexitylinemethod
IsoDateTimeSerializer()
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
configure(Configuration)
M: 0 C: 11
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
serialize(OffsetDateTime, SerializationContext)
M: 0 C: 9
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package cz.cvut.kbss.jsonld.serialization.serializer.compact.datetime;
2:
3: import cz.cvut.kbss.jopa.vocabulary.XSD;
4: import cz.cvut.kbss.jsonld.ConfigParam;
5: import cz.cvut.kbss.jsonld.Configuration;
6: import cz.cvut.kbss.jsonld.serialization.model.JsonNode;
7: import cz.cvut.kbss.jsonld.serialization.serializer.SerializerUtils;
8: import cz.cvut.kbss.jsonld.serialization.serializer.datetime.DateTimeSerializer;
9: import cz.cvut.kbss.jsonld.serialization.traversal.SerializationContext;
10:
11: import java.time.OffsetDateTime;
12: import java.time.format.DateTimeFormatter;
13: import java.time.temporal.TemporalAccessor;
14:
15: /**
16: * Serializes datetime value as string in the ISO 8601 format (unless a different format is configured).
17: */
18: public class IsoDateTimeSerializer extends DateTimeSerializer {
19:
20: protected DateTimeFormatter formatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
21:
22: @Override
23: public JsonNode serialize(OffsetDateTime value, SerializationContext<TemporalAccessor> ctx) {
24: return SerializerUtils.createdTypedValueNode(ctx.getTerm(), formatter.format(value), XSD.DATETIME);
25: }
26:
27: @Override
28: public void configure(Configuration configuration) {
29:• if (configuration.has(ConfigParam.DATE_TIME_FORMAT)) {
30: this.formatter = DateTimeFormatter.ofPattern(configuration.get(ConfigParam.DATE_TIME_FORMAT));
31: }
32: }
33: }