我正在使用Bindy将csv文件数据映射到给定的模型类。除了布尔字段的默认值之外,整个过程都可以正常工作。该字段不是csv文件的一部分,但是在模型类中对于后续处理是必需的。我已将默认值设置为true
,但是它将被“忽略”,并且false
如果我运行骆驼路线,则该字段当前始终设置为。
这是我的模型课的摘要:
@CsvRecord(separator = " ", skipFirstLine = false)
public class MyModel {
// ... more data fields
@DataField(pos = 8, defaultValue = "true")
public boolean approved;
defaultValue
需要一个字符串值,所以我不能将其设置为Boolean.TRUE
。我已经尝试过其他值,例如“ TRUE”,“ yes”,“ y”和“ 1”,但是没有运气。
BindyCsvFactory的来源说,Format类用于设置默认值,但似乎无法处理布尔字段,boolean
而是使用默认值代替,它是false
。
当前使用以下命令将语言环境设置为“ en_Us”:
BindyCsvDataFormat format = new BindyCsvDataFormat("[model package]");
format.setLocale("en_US");
因此,主要问题是:如何true
在Bindy托管模型类中将布尔字段的默认值设置为?
你不能 如果您查看FormatFactory代码(http://camel.apache.org/maven/camel-2.11.0/camel-bindy/apidocs/src-html/org/apache/camel/dataformat/bindy/FormatFactory。 html),您可以看到它不支持布尔值。
看来您的选择是
public boolean approved = true
。将批准的字段添加到输入文件后,您必须稍后将其重新添加。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句