Skip to content

Commit b439246

Browse files
committed
add numeric values to serializer
1 parent 9c74fb3 commit b439246

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

pom.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
34
<modelVersion>4.0.0</modelVersion>
45

56
<parent>

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@
44
import com.fasterxml.jackson.databind.JsonSerializer;
55
import com.fasterxml.jackson.databind.SerializerProvider;
66
import it.aboutbits.springboot.toolbox.type.CustomType;
7+
import it.aboutbits.springboot.toolbox.type.ScaledBigDecimal;
78

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

1114
public 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

Comments
 (0)