我有几个使用 JibX 提供的 CodeGen 工具创建的文件。这些类都具有相同的根名称,因此生成的类都具有相同的名称。
我最初通过将所有这些生成的类放入它们自己的包中来解决命名冲突来解决这个问题。然后我遇到了需要声明整个包名的问题,这很长,每次我想声明或强制转换一个新对象时。
我处理这个问题的最初想法是创建一个具有不同名称的空子类,以扩展原始自动生成的类。如
public class AutoGen
{
//This class generated by CodeGen binds as expected
//No problems marshalling or unmarshalling documents
}
public class UniqueName extends com.CompanyName.ProductName.SDK.Events.HeartBeatEvent.AutoGen
{
//This class is empty
}
我现在遇到的问题是,由于缺少绑定,JibX 不会将字符串或文件编组或解组到该子类。
再次阅读 CodeGen 文档后,我似乎找不到一个命令可以让我声明生成的类名应该是什么。有没有办法有效地使 CodeGen 生成的类具有用户声明的唯一名称?如果没有,有没有办法让 JibX 正确编组和解组子类?这些解决方案中的任何一个都可以工作。
同样重要的是,我提到我无法更改生成代码的 xsd 文件。