2008年9月1日月曜日

GWTでBigDecimal

一度エントリ投稿し始めたら、あとはそこそこ続くもの。

今回はGWTでBigDecimalを使う方法。
Google先生に軽く聞いた限りでは見つからなかったのだが、よくよく調べてみると見つかった。

まず、現時点でのGWT(v1.5.2)では、BigDecimalはサポートされていない。BigDecimalをGWTで利用するためには、gwt-mathという外部ライブラリを利用する必要がある。

gwt-math
http://code.google.com/p/gwt-math/

使い方は至って簡単。公式サイトにも書いてあるが、下記の通りだ。
  • 利用するモジュールのgwt.xmlに以下のinheritエレメントを追加する。
    • <inherits name="com.googlecode.gwt.math.Math"/>
  • gwt-math-[version].jarをダウンロードし、クラスパスに追加する。
  • もしRPCのパラメータやreturnでBigDecimalを利用する場合は、さらにgwt-math-server-[version].jarもダウンロードし、クラスパスに追加する。
これだけだ。
RPCのシリアライズ通信やjsコンパイラの仕組みがよくわかっていないので、どうやって拡張を実現しているのかわからないが、他に特にややこしい設定など必要とせず、これだけで問題ないようだ。
(jsに関しては、java.math.BigDecimalをエミュレーションするJavaScriptを用意しているように見える)

0 件のコメント: