From 91c6cf5269f5d5de0466d2f268c79102deb7f878 Mon Sep 17 00:00:00 2001 From: Andreas Hufler Date: Tue, 7 Apr 2026 16:11:44 +0200 Subject: [PATCH] add numeric type cases to CustomTypeSerializer --- .../toolbox/jackson/CustomTypeSerializer.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/it/aboutbits/springboot/toolbox/jackson/CustomTypeSerializer.java b/src/main/java/it/aboutbits/springboot/toolbox/jackson/CustomTypeSerializer.java index 86067d6..d13f516 100644 --- a/src/main/java/it/aboutbits/springboot/toolbox/jackson/CustomTypeSerializer.java +++ b/src/main/java/it/aboutbits/springboot/toolbox/jackson/CustomTypeSerializer.java @@ -1,11 +1,14 @@ package it.aboutbits.springboot.toolbox.jackson; import it.aboutbits.springboot.toolbox.type.CustomType; +import it.aboutbits.springboot.toolbox.type.ScaledBigDecimal; import org.jspecify.annotations.NullMarked; import tools.jackson.core.JsonGenerator; import tools.jackson.databind.SerializationContext; import tools.jackson.databind.ValueSerializer; +import java.math.BigDecimal; +import java.math.BigInteger; import java.util.UUID; @NullMarked @@ -28,6 +31,15 @@ public void serialize( case String stringValue -> jsonGenerator.writeString(stringValue); case UUID uuidValue -> jsonGenerator.writeString(uuidValue.toString()); case Enum enumValue -> jsonGenerator.writeString(enumValue.name()); + case Byte numericValue -> jsonGenerator.writeNumber(numericValue); + case Short numericValue -> jsonGenerator.writeNumber(numericValue); + case Integer numericValue -> jsonGenerator.writeNumber(numericValue); + case Long numericValue -> jsonGenerator.writeNumber(numericValue); + case Float numericValue -> jsonGenerator.writeNumber(numericValue); + case Double numericValue -> jsonGenerator.writeNumber(numericValue); + case BigInteger numericValue -> jsonGenerator.writeNumber(numericValue); + case BigDecimal numericValue -> jsonGenerator.writeNumber(numericValue); + case ScaledBigDecimal numericValue -> jsonGenerator.writeNumber(numericValue.doubleValue()); default -> jsonGenerator.writeRawValue(String.valueOf(value)); } }