Apache camel bindy

时间:2014-11-24 05:50:58

标签: apache-camel bindy

我想知道使用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;
}

2 个答案:

答案 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注释的。