Reflectionを使ってProxyクラスのひな型を書き出す

class TargetClass {
    String id, name;
    ...setter, getter...
}

みたいなBeanへのProxyクラスとして

class Proxy extends TargetClass {
    TargetClass target;

    public void setId(String id) { target.setId(id); }
    public String getId() { return target.getId(); }
    ...
}

を定義したい場合に、Setter Getterの作成が大変!!
↓をコピペすれば幸せになれるかも!

for (Field f : TargetClass.class.getDeclaredFields()) {
	String code = 
	("\t@Override\n" +
	"\tpublic void set${method}(${type} ${field}) {\n" +
	"\t\ttarget.set${method}(${field});\n" +
	"\t}\n\n" +
	"\t@Override\n" +
	"\tpublic ${type} get${method}() {\n" +
	"\t\treturn target.get${method}();\n" +
	"\t}\n").replaceAll("\\$\\{method\\}", StringUtils.capitalize(f.getName()))
			.replaceAll("\\$\\{field\\}", f.getName())
			.replaceAll("\\$\\{type\\}", f.getType().getName());
	System.out.println(code);
}

…幸せになるやついんのか。。