我尝试使用Java注释来向对象添加特定字段。
需要如下:我有一个处理配置文件的类,其中键与值 key = value 的值相关联。
问题在于我希望能够让用户自己定义必要的字段,如果不存在,则抛出异常。
最简单的解决方案是将这些字段传递给String []中的构造函数但是,我还希望用户能够使用这些必需字段,因为它是类的属性,因此他能够在代码中写道:
@RequiredFields(
field1,
field2,
field3)
MyClass myObject = new MyClass(String filePath);
String value = myObject.field1;
字段 field1 也是完成提案吗?
我实际上是在Groovy中开发,所以如果在标准Java中不可能,它会在Groovy中吗?
谢谢!
答案 0 :(得分:0)
进行验证的工厂方法怎么样?类似的东西:
MyClass my = MyClassFactory.create("arg1", "arg2")
或者,使用Groovy上的地图:
def my = MyClassFactory.create arg1: "foo", arg2: "bar"
工厂本身会检查属性文件。
如果你真的想要注释,也许JDK 8上的Type Annotations是一个选项。
在Groovy上,你可以尝试一个local AST,这对我来说似乎是一个过度设计的解决方案,或GContracts这是按合同编程。
您可以将工厂与GContracts组合到@Ensure
,结果对象包含根据属性文件的所有字段。