我想编组和取消编组我的类对象列表,例如java.util.List<MyObject>
。我打算为此使用Castor,但必须使用Castor-0.9.5。*。jar版本。
另外,我有Marshaled对象(MyObject
)的XML模式。 MyObject
类没有默认的构造函数,它仅具有参数化的构造函数,该构造函数设置所有字段。而且MyObject
类中的任何字段都没有设置方法。我根本无法修改MyObject
类。
这是MyObject
类的代码段:
public class MyObject
{
private final SomeEnumType type;
private final CutomObject custObjs[];
private final int index;
private final String[] strs;
private final int rows[];
// NOTE: This class also has getter methods for all the fields.
// NOTE: There are NO setters methods and all fields are final
public MyObject(SomeEnumType type, CutomObject custObjs[],
int index, String strs[], int rows[])
{
this.type = type;
this.custObjs = custObjs;
this.index = index;
this.strs = strs;
this.rows = rows;
}
}
我的问题是:
Castor是否适合这种情况?如果没有,更好的选择是什么?
在我的案例中,如何创建Castor映射。我尝试为此使用O2XMapper,但由于
MyObject
类没有默认构造函数而无法使用?有没有一种方法可以使用
MyObject
的XML模式生成Castor映射。我在蓖麻子罐中找不到
org.exolab.castor.xml.XMLContext
和org.castor.xml.BackwardCompatibilityContext
类,它们不是蓖麻子罐的一部分吗? 最佳答案
我更喜欢使用jaxB,因为它重量轻,并且编组和拆组不会占用太多内存
click here for example