11package it .aboutbits .springboot .toolbox .jackson ;
22
33import it .aboutbits .springboot .toolbox .type .CustomType ;
4+ import it .aboutbits .springboot .toolbox .type .ScaledBigDecimal ;
45import org .jspecify .annotations .NullMarked ;
56import tools .jackson .core .JsonGenerator ;
67import tools .jackson .databind .SerializationContext ;
78import tools .jackson .databind .ValueSerializer ;
89
10+ import java .math .BigDecimal ;
11+ import java .math .BigInteger ;
912import 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