3
1.4から1.5になると、documented onesに加えて多くの変更が文書化されているようです。私が持っていた1.4ではカスタムBigDecimalコンバータをWicket 1.5のTextField <BigDecimal>に設定するにはどうすればよいですか?
:1.5で
new TextField<BigDecimal>("capitalInput",
new PropertyModel<BigDecimal>(model, "capital")) {
@Override
public IConverter getConverter(Class<?> type) {
return new MonetaryBigDecimalConverter();
}
};
を、私はそうのような(今宣言されているかgetConverter()一致するように)変更:
new TextField<BigDecimal>("capital",
new PropertyModel<BigDecimal>(model, "capital")) {
@Override
public <C> IConverter<C> getConverter(Class<C> type) {
return new MonetaryBigDecimalConverter();
}
};
私のIDEだけで未チェックの割り当て警告として示しています。
がincompatible types
found : com.company.MonetaryBigDecimalConverter
required: org.apache.wicket.util.convert.IConverter<C>
カスタムMonetaryBigDecimalConverterはこのような何か(1.5)になります:
public class MonetaryBigDecimalConverter extends BigDecimalConverter {
@Override
public String convertToString(BigDecimal value, Locale locale) {
// ...
}
}
は、どのように私は再びこの作品を作ることができます。しかし、それは実際にコンパイルエラーだプロジェクトを構築しようとしていますか?
BigDecimalConverterがwicketのものであれば、これはIConverterを実装しているので動作するはずです。それ以外の場合は、独自のコンバータでそのインターフェイスを実装しようとする可能性があります。既に契約に従っているはずです。 –
Nicktar
上記のBigDecimalConverterはWicketから*です。実際にMonetaryBigDecimalConverterに(冗長な)IConverterを追加しようとしましたが、それは役に立たなかった... –
Jonik