我想知道如何使用camel bindy将对象写入CSV,但我的类有一个用户定义的数据类型。我看到bindy源代码,给出了预定义以外的数据类型的异常,在bindy中有像this.If @Link这样的选项吗?谢谢您:)
这是我的班级
@CsvRecord
Public class Myclass{
@DataField(pos = 1)
private RefClass refOne;
@DataField(pos = 2)
private String createdOn;
}
public class RefClass{
private RefClassTwo refTwo;
private String createdBy;
}发布于 2014-11-24 18:01:28
@Link可以帮助将两个相关的fiends封装在单独的类中。例如,对于CSV
顺序、姓名、姓氏
1,弗兰克,史密斯
你可以这样做
public class Order {
@DataField(pos = 1)
private int orderNr;
@Link
private Client client;
}
@Link
public class Client {
@DataField(pos = 2)
private String firstname;
@DataField(pos = 3)
private String lastname;
}有关@Link的完整示例,请查看使用以下复杂model进行的camel bindy组件测试中的unit test
如果要将信息从csv的一个字段获取到类中的多个字段类型,请使用bindy解析字符串中的信息
@CsvRecord
Public class Myclass{
@DataField(pos = 1)
private String refOne;
@DataField(pos = 2)
private String createdOn;
}然后在您的路由中使用处理器,解析position 1的内容并生成所需的数据类型。
发布于 2014-11-26 02:52:36
使用@Link链接的对象有助于对属性进行分组。而且这些链接的类必须是Bindy注释的。
https://stackoverflow.com/questions/27098600
复制相似问题