我使用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
。我已经尝试了其他值,例如&#34; TRUE&#34; ,&#34;是&#34; ,&#34; y&#34; < / em>和&#34; 1&#34; 没有运气。
BindyCsvFactory的来源说类格式用于设置默认值,但它似乎无法处理布尔字段并使用默认值boolean
代替是false
。
区域设置目前使用此命令设置为&#34; en_Us&#34; :
BindyCsvDataFormat format = new BindyCsvDataFormat("[model package]");
format.setLocale("en_US");
所以主要问题是:如何在Bindy托管模型类中将布尔字段的默认值设置为true
?
答案 0 :(得分:3)
你不能。如果您查看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
。将批准的字段添加到输入文件后,您必须稍后将其添加回来。