我正在使用固定长度解析器将带有注释的文件和 java bean 作为映射类导入。如何根据需要定义字段?找不到注释。我可以为这样的验证实现一个自定义转换器吗?
1 回答
0
更新:版本 2.7.0 引入了@Validate
注释。默认情况下,它不允许空值或空白值。
像这样使用它:
public static class A {
@Parsed(index = 0)
@Validate(nullable = true)
public String nullNotBlank;
@Parsed(index = 1)
@Validate(oneOf = {"a", "b"})
public String aOrB;
@Parsed(index = 2)
@Validate(oneOf = {"a"}, noneOf = "b")
public String aNotB;
@Parsed(index = 3)
@Validate(allowBlanks = true, oneOf = {"a", "b"})
public String aOrBOrNull;
}
另一种方法是将注释放在您的 setter 方法中。
@Parsed
public void setMyField(String data) {
if(data == null){
throw new IllegalArgumentException("MyField can't be null");
}
this.myField = data;
}
如果您对许多不同的字段有此要求,则可以创建自定义转换。我昨天更新了教程,所以看看那里。
更具体地说,请查看教程的在注释中使用您自己的转换部分。
为避免在任何地方重复添加此类注释,请参阅避免在同一页面中重复注释部分。
希望这可以帮助。
于 2018-07-06T13:55:30.910 回答