@Override // since 2.9 protected JsonToken serializationShape(SerializerProvider provider) { if (useTimestamp(provider)) { if (_shape == JsonFormat.Shape.NUMBER_INT) { return JsonToken.VALUE_NUMBER_INT; } return JsonToken.START_ARRAY; } return JsonToken.VALUE_STRING; } }
@Override public void serialize(LocalDate date, JsonGenerator g, SerializerProvider provider) throws IOException { if (useTimestamp(provider)) { if (_shape == JsonFormat.Shape.NUMBER_INT) { g.writeNumber(date.toEpochDay()); } else { g.writeStartArray(); _serializeAsArrayContents(date, g, provider); g.writeEndArray(); } } else { g.writeString((_formatter == null) ? date.toString() : date.format(_formatter)); } }
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { SerializerProvider provider = visitor.getProvider(); boolean useTimestamp = (provider != null) && useTimestamp(provider); if (useTimestamp) { _acceptTimestampVisitor(visitor, typeHint); } else { JsonStringFormatVisitor v2 = visitor.expectStringFormat(typeHint); if (v2 != null) { v2.format(JsonValueFormat.DATE); } } }
@Override public void serialize(LocalDate date, JsonGenerator generator, SerializerProvider provider) throws IOException { if (useTimestamp(provider)) { generator.writeStartArray(); generator.writeNumber(date.getYear()); generator.writeNumber(date.getMonthValue()); generator.writeNumber(date.getDayOfMonth()); generator.writeEndArray(); } else { String str = (_formatter == null) ? date.toString() : date.format(_formatter); generator.writeString(str); } }
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { SerializerProvider provider = visitor.getProvider(); boolean useTimestamp = (provider != null) && useTimestamp(provider); if (useTimestamp) { _acceptTimestampVisitor(visitor, typeHint); } else { JsonStringFormatVisitor v2 = visitor.expectStringFormat(typeHint); if (v2 != null) { v2.format(JsonValueFormat.DATE); } } } }