我想知道使用camel bindy将对象写入CSV,但是我的类有一个用户定义的数据类型。我看到了bindy源代码,给出了预定义以外的数据类型的异常,bindy中的任何选项这样做。如果@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;
}
答案 0 :(得分:0)
@Link可以帮助将两个相关的恶魔封装在一个单独的类中。 因此,例如对于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的完整示例,请使用此复合unit test
从驼峰绑定组件测试中检查此model如果要从csv的一个字段获取信息到类中的多个字段类型,请使用bindy解析字符串中的信息
@CsvRecord
Public class Myclass{
@DataField(pos = 1)
private String refOne;
@DataField(pos = 2)
private String createdOn;
}
然后在路由中使用处理器,解析位置1的内容并生成所需的数据类型。
答案 1 :(得分:0)
与@Link
关联的对象有助于对属性进行分组。但是这些链接的类也必须是Bindy注释的。