44import com .fasterxml .jackson .databind .JsonSerializer ;
55import com .fasterxml .jackson .databind .SerializerProvider ;
66import it .aboutbits .springboot .toolbox .type .CustomType ;
7+ import it .aboutbits .springboot .toolbox .type .ScaledBigDecimal ;
78
89import java .io .IOException ;
10+ import java .math .BigDecimal ;
11+ import java .math .BigInteger ;
912import java .util .UUID ;
1013
1114public class CustomTypeSerializer extends JsonSerializer <CustomType <?>> {
@@ -27,6 +30,15 @@ public void serialize(
2730 case String stringValue -> jsonGenerator .writeString (stringValue );
2831 case UUID uuidValue -> jsonGenerator .writeString (uuidValue .toString ());
2932 case Enum <?> enumValue -> jsonGenerator .writeString (enumValue .name ());
33+ case Byte numericValue -> jsonGenerator .writeNumber (numericValue );
34+ case Short numericValue -> jsonGenerator .writeNumber (numericValue );
35+ case Integer numericValue -> jsonGenerator .writeNumber (numericValue );
36+ case Long numericValue -> jsonGenerator .writeNumber (numericValue );
37+ case Float numericValue -> jsonGenerator .writeNumber (numericValue );
38+ case Double numericValue -> jsonGenerator .writeNumber (numericValue );
39+ case BigInteger numericValue -> jsonGenerator .writeNumber (numericValue );
40+ case BigDecimal numericValue -> jsonGenerator .writeNumber (numericValue );
41+ case ScaledBigDecimal numericValue -> jsonGenerator .writeNumber (numericValue .doubleValue ());
3042 case null -> jsonGenerator .writeNull ();
3143 default -> jsonGenerator .writeRawValue (String .valueOf (value ));
3244 }
0 commit comments