Skip to content

Method: ContextBuildingTemporalAmountSerializer()

1: package cz.cvut.kbss.jsonld.serialization.serializer.context.datetime;
2:
3: import cz.cvut.kbss.jopa.vocabulary.XSD;
4: import cz.cvut.kbss.jsonld.serialization.JsonNodeFactory;
5: import cz.cvut.kbss.jsonld.serialization.model.JsonNode;
6: import cz.cvut.kbss.jsonld.serialization.model.ObjectNode;
7: import cz.cvut.kbss.jsonld.serialization.serializer.SerializerUtils;
8: import cz.cvut.kbss.jsonld.serialization.serializer.ValueSerializer;
9: import cz.cvut.kbss.jsonld.serialization.traversal.SerializationContext;
10:
11: import java.time.temporal.TemporalAmount;
12:
13: public class ContextBuildingTemporalAmountSerializer implements ValueSerializer<TemporalAmount> {
14:
15: @Override
16: public JsonNode serialize(TemporalAmount value, SerializationContext<TemporalAmount> ctx) {
17: if (ctx.getTerm() != null) {
18: final ObjectNode termDef = SerializerUtils.createTypedTermDefinition(ctx.getFieldName(), ctx.getTerm(),
19: XSD.DURATION);
20: ctx.registerTermMapping(ctx.getFieldName(), termDef);
21: }
22: return JsonNodeFactory.createLiteralNode(ctx.getTerm(), value.toString());
23: }
24: }