CurrencyAmountCentsDeserializer.java

package com.tdmconsult.ete.utils;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import java.io.IOException;
import java.math.BigDecimal;

public class CurrencyAmountCentsDeserializer extends JsonDeserializer<BigDecimal> {

    @Override
    public BigDecimal deserialize(final JsonParser p, final DeserializationContext ctxt) throws IOException {
        long cents = p.getValueAsLong();

        // Cents durch 100 teilen und zwei Nachkommastellen erzwingen
        return BigDecimal.valueOf(cents).movePointLeft(2);
    }
}