我想提供一个注释如下:
public @interface CloneField
{
String sourceField();
Class<?> customCloner();
}
人们可以在其类上注释字段,并且某些框架将通过在外部数据源对象上运行customCloner中的方法,自动将字段复制到其类实例。
例如:
class Test {
@CloneField(sourceField = "demoTest", customCloner = StringToIntCloner.class)
private int testField;
这会将外部数据源对象上名为demoTest的字段中的字符串值复制到用户对象的int字段中。
由于customCloner不保存任何数据,我希望将克隆方法定义为静态,而无需仅为调用方法实例化它。
通常我会将自定义克隆类定义为:
Class <? extends FieldCloner> customCloner;
其中FieldCloner有一种克隆方法。
但由于接口不支持静态方法,因此没有一种干净的方法
在Java 7中有一种优雅的方法吗?
除了运行可以通过反射解决的方法的问题之外,我想在编译时验证customCloner类是否具有适当的克隆方法。