填写类似的jaxb生成的类

时间:2013-12-02 09:59:03

标签: java jaxb software-design

我目前正在处理的项目有2个需要创建的xml文档。并不重要,但要做到这些是:   - 直接借记(痛苦008)   - 学分转移(痛苦001)。

这些消息的xsd有很多相似之处。我正在使用jaxb生成类,然后用内容填充生成的类,然后生成xml。 我已经完成了第一个xml的内容编码,它占用了相当多的代码。

现在我开始使用转帐信息。我想尽可能多地重用为直接借记编写的代码,但是信用转移有一个不同的ObjectFactory,因此有不同的类(相同的类但在不同的包/名称空间中)

当然我已经提取了所有代码来生成内容,但这仍然让我有很多setter

有没有更好的方法来生成xml文档?

编辑 -
问题暂停,因此有些代码:
我需要生成2条xml消息。每个都有自己的xsd。 每个xsd都包含一个partyidentification32元素。以下方法生成内容:

private sepa.pain00100103.PartyIdentification32 createInitiatingParty()   {  
     sepa.pain00100103.PartyIdentification32 partyId = objectFactory.createPartyIdentification32();  
     partyId.setNm("Name");  
     partyId.setAdrs("Streetname");  
     return partyId;  
}

private sepa.pain00100802.PartyIdentification32 createInitiatingParty()   {  
     sepa.pain00100802.PartyIdentification32 partyId = objectFactory.createPartyIdentification32();  
     partyId.setNm("Name");  
     partyId.setAdrs("Streetname");  
     return partyId;  
}

正如您所看到的,除了返回类型之外,代码几乎相同 在不同的包中有两类PartyIdentification32,因此我必须两次编写完全相同的代码。 Jaxb生成这些类,因此我无法控制这些类的生成方式 这是一个简单的例子,但是有更多这样的代码重复。

我的问题是,有没有办法在没有代码重复的情况下以更优雅的方式解决这个问题?

希望这会使问题更加明确。

0 个答案:

没有答案