src/main/java/com/wpollock/jaxbdemo/DoubleAdapter.java
package com.wpollock.jaxbdemo;
import javax.xml.bind.annotation.adapters.XmlAdapter;
import java.math.BigDecimal;
/**
* JAXB does native formatting of values.
* To have nicely formatted dates and numbers requires a XMLAdapter class
* be used. This class formats BigDecimals with two decimal places.
*/
public class DoubleAdapter extends XmlAdapter<String, BigDecimal> {
public BigDecimal unmarshal(final String xml) throws Exception {
return new BigDecimal(xml);
}
public String marshal(final BigDecimal num) throws Exception {
return String.format("%.2f", num);
}
}