我有一个包含两个不同元素的日期和时间的XML流。我将其反序列化为包含两个String字段的“Match”对象:
@Element
public String MatchDate;
@Element
public String MatchStartTime;
这很好但我想将这两个值合并到一个Calendar对象中,因为我稍后在代码中必须从日期中减去几秒钟。所以我班上还有一个额外的领域:
public Calendar MatchCal;
没有注释,因为它不是XML的一部分。
在初始序列化之后,我可以很容易地浏览列表中的所有元素,如果忽略使用这种方法的性能开销,那么可能就是这样。
但是......在反序列化过程中,可以“动态”填充我的MatchCal对象。
如果是这样的话?
答案 0 :(得分:1)
根据教程:
http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#callback
我认为@Commit
注释对你有用。这将允许您在反序列化过程完成之前执行逻辑。
e.g。)
@Commit
public void setCalendar() {
matchCal = new GregorianCalendar();
// parse and set time, etc
}