Beans.copyでBooleanを扱う(続き)

前回のエントリのコメントにも書きましたが、

>逆にFormのプロパティをbooleanからStringにするというのはNGということですか?

やはり、なにも手を加えない状態だと、boolean(Checkbox)からStringの変換はtrue -> "true" で false -> "false" になりますね。
だから、boolean を任意のStringに変換したい場合は自作Converterを使うことになるのかな。

もっとも、DB側をvarchar(5)とかにして、"true"や"false"を格納してもいいんですけどね。

ということです(違う?)

せっかくなので、Commons Lang のBooleanUtils ではなく、Seasar2のBooleanConversionUtilを使うことにしました。

import org.seasar.framework.beans.Converter;
import org.seasar.framework.util.BooleanConversionUtil;

public class BooleanConverter implements Converter {

    public BooleanConverter() {
    }

    public Object getAsObject(String value) {
    	return BooleanConversionUtil.toBoolean(value);
    }

    public String getAsString(Object value) {
    	return BooleanConversionUtil.toBoolean(value) ? "1" : "0";
    }

    public boolean isTarget(Class clazz) {
        return clazz == Boolean.class;
    }
}

とにもかくにも、やりたいことは実現できていますが、もっとスマートなほうほうがあればご教授ください。