2014-11-24 296 views
0

我想知道如何使用骆驼bindy将对象写入CSV,但是我的类有一个用户定义的数据类型。我看到了bindy源代码,除了预定义的数据类型外,在bindy做这样的。如果@Link可以在这里帮助? 谢谢:)Apache骆驼bindy

这里是我的

@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

@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

如果你想g从CSV的一个场等信息,以一个以上的字段类型在你的类使用bindy解析信息在String

@CsvRecord 
Public class Myclass{ 
@DataField(pos = 1) 
private String refOne; 
@DataField(pos = 2) 
private String createdOn; 
} 

事后在路线使用处理器,解析的位置1处的内容,并生成你想要的数据类型。

0

@Link链接的对象有助于组属性。但是这些链接的类也必须是Bindy注释的。