Bean間で型の異なるメンバにコピーするサンプル
Converterを実装してコンバタを作成するサンプル
材料は
org.apache.commons.beanutils
/** * * 実行 * @throws Exception 例外 */ public void execute() throws Exception { final TestBean testBean = new TestBean(1); final SampleBean sampleBean = new SampleBean("0"); ConvertUtils.register(new SampleConverter(), String.class); BeanUtils.copyProperties(sampleBean, testBean); System.out.println(sampleBean.getHoge()); } /** * * <HR> * <P> * ■モジュール名 <BR> * <BLOCKQUOTE> * TestBean.java <BR> * </BLOCKQUOTE> * <P> * ■クラス仕様 <BR> * <BLOCKQUOTE> * TestBeanクラスはBeenクラスです。<BR> * </BLOCKQUOTE> * <P> * <HR> * <P> */ public class TestBean { /** * 確認用数値 */ private int hoge; /** * * コンストラクタ * @param hoge 確認用数値 */ public TestBean(final int hoge) { this.hoge = hoge; } /** * * 確認用数値の取得 * @return 確認用数値 */ public int getHoge() { return hoge; } /** * * 確認用数値の設定 * @param hoge 確認用数値 */ public void setHoge(final int hoge) { this.hoge = hoge; } } /** * * <HR> * <P> * ■モジュール名 <BR> * <BLOCKQUOTE> * SampleBean.java <BR> * </BLOCKQUOTE> * <P> * ■クラス仕様 <BR> * <BLOCKQUOTE> * SampleBeanクラスはBeenクラスです。<BR> * </BLOCKQUOTE> * <P> * <HR> * <P> */ public class SampleBean { /** * 確認用数値 */ private String hoge; /** * * コンストラクタ * @param hoge 確認用数値 */ public SampleBean(final String hoge) { this.hoge = hoge; } /** * * 確認用数値の取得 * @return 確認用数値 */ public String getHoge() { return hoge; } /** * * 確認用数値の設定 * @param hoge 確認用数値 */ public void setHoge(final String hoge) { this.hoge = hoge; } } /** * * <HR> * <P> * ■モジュール名 <BR> * <BLOCKQUOTE> * SampleConverter.java <BR> * </BLOCKQUOTE> * <P> * ■クラス仕様 <BR> * <BLOCKQUOTE> * SampleConverterクラスはサンプルコンバータクラスです。<BR> * </BLOCKQUOTE> * <P> * <HR> * <P> */ public class SampleConverter implements Converter { /** * * コンバータ * @param arg0 変換先クラス * @param arg1 変換元 * @return 文字列 */ public Object convert(final Class arg0, final Object arg1) { System.out.println("変換先クラス名:" + arg0.getName()); return String.valueOf(arg1) + "hoge"; } }