Skip to content

Commit 91c6cf5

Browse files
committed
add numeric type cases to CustomTypeSerializer
1 parent f4c2d0f commit 91c6cf5

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

src/main/java/it/aboutbits/springboot/toolbox/jackson/CustomTypeSerializer.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package it.aboutbits.springboot.toolbox.jackson;
22

33
import it.aboutbits.springboot.toolbox.type.CustomType;
4+
import it.aboutbits.springboot.toolbox.type.ScaledBigDecimal;
45
import org.jspecify.annotations.NullMarked;
56
import tools.jackson.core.JsonGenerator;
67
import tools.jackson.databind.SerializationContext;
78
import tools.jackson.databind.ValueSerializer;
89

10+
import java.math.BigDecimal;
11+
import java.math.BigInteger;
912
import java.util.UUID;
1013

1114
@NullMarked
@@ -28,6 +31,15 @@ public void serialize(
2831
case String stringValue -> jsonGenerator.writeString(stringValue);
2932
case UUID uuidValue -> jsonGenerator.writeString(uuidValue.toString());
3033
case Enum<?> enumValue -> jsonGenerator.writeString(enumValue.name());
34+
case Byte numericValue -> jsonGenerator.writeNumber(numericValue);
35+
case Short numericValue -> jsonGenerator.writeNumber(numericValue);
36+
case Integer numericValue -> jsonGenerator.writeNumber(numericValue);
37+
case Long numericValue -> jsonGenerator.writeNumber(numericValue);
38+
case Float numericValue -> jsonGenerator.writeNumber(numericValue);
39+
case Double numericValue -> jsonGenerator.writeNumber(numericValue);
40+
case BigInteger numericValue -> jsonGenerator.writeNumber(numericValue);
41+
case BigDecimal numericValue -> jsonGenerator.writeNumber(numericValue);
42+
case ScaledBigDecimal numericValue -> jsonGenerator.writeNumber(numericValue.doubleValue());
3143
default -> jsonGenerator.writeRawValue(String.valueOf(value));
3244
}
3345
}

0 commit comments

Comments
 (0)