モデルのすべてのBigDecimalタイプをフォーマットするBigDecimalAdapterがあります。package-infoファイルの宣言は次のとおりです。
@XmlJavaTypeAdapters({@XmlJavaTypeAdapter(value=BigDecimalAdapter.class,type=BigDecimal.class)})
私の問題は、いくつかのBigDecimalを異なる精度でフォーマットする必要があることです。
たとえば、次の2つのオブジェクトがあります。
public class Invoice {
@XmlPath("InvoiceTotals/InvoiceTotal/text()")
private BigDecimal invoiceTotal;
}
と
public class Discount {
@XmlPath("DiscountAmount/text()")
private BigDecimal discountAmount;
}
ここで、値が次の場合:
invoice.invoiceTotal = 10.000000000;
discount.discountAmount = 25.00000000;
最終的なXMLで次の結果を取得するにはどうすればよいですか?
<invoiceTotal>10.00<invoiceTotal/>
<discountAmount>25.0000<discountAmount/>
つまり、最初のケースでは小数点以下2桁、2番目のケースでは小数点以下4桁です。
どうもありがとうございます。